You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写最佳XPath提取<td>配对文本,排除无对应项内容?

精准提取配对文本的XPath方案

核心需求分析

要提取的是成对出现的有效文本,需排除以下无效内容:

  • 包含嵌套表格的行
  • 带有colspan="2"的行
  • 空或仅含无关文本的行
  • 嵌套表格内的非目标行(如含"Adjustment"的行)

1. 提取顶层表格的配对文本(对应text1、text2)

如果目标是顶层表格中无嵌套、无colspan的配对,使用以下XPath定位目标行,再提取每行的两个文本:

//div[contains(@class, 'tab_product_details')]/table/tbody/tr[count(td)=2 and not(td/table)]

遍历每个匹配的<tr>,分别提取第一个和第二个<td>的文本即可得到成对的text1和text2。

若要直接提取所有符合条件的节点:

//div[contains(@class, 'tab_product_details')]/table/tbody/tr[count(td)=2 and not(td/table)]/td

2. 提取嵌套表格中class为feature的配对文本(对应text3、text4)

针对嵌套表格内class为feature的目标行,直接通过类名精准定位:

//div[contains(@class, 'tab_product_details')]//tr[@class='feature']/td

该XPath会跳过嵌套表格内的无关行(如含"Adjustment"的行),仅提取目标行的两个文本。


关键过滤逻辑说明

  • count(td)=2:确保每行有且仅有两个配对的,排除行数不对的无效行
  • not(td/table):排除包含嵌套表格的所在行,避免误提取子表格内容
  • @class='feature':利用目标行的类属性精准定位,跳过无关行

内容的提问来源于stack exchange,提问作者VladimirLenin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 19:12:21