【发布时间】:2016-05-19 06:06:55
【问题描述】:
在下面的sn-p中
我想获取包含文本“这是我应该得到的”的元素的 xpath。我使用 xpath 表达式 html/body/div[5]/div[3]/div/div/div/div[2]/div/table/tbody/tr[2]/td/span,但我得到的元素带有文本“这就是我得到的”。请帮我修改元素定位器以获得所需的文本
【问题讨论】:
在下面的sn-p中
我想获取包含文本“这是我应该得到的”的元素的 xpath。我使用 xpath 表达式 html/body/div[5]/div[3]/div/div/div/div[2]/div/table/tbody/tr[2]/td/span,但我得到的元素带有文本“这就是我得到的”。请帮我修改元素定位器以获得所需的文本
【问题讨论】:
肯定有比那个冗长的 XPath 表达式更好的 XPath 表达式,但没有更多信息我只能基于现有的 XPath 提出建议。因此,可以将所需的文本节点标识为先前选择的 span 元素之后的文本节点:
..../table/tbody/tr[2]/td/span/following-sibling::text()[1]
或作为来自父 td 元素的直接子文本节点:
..../table/tbody/tr[2]/td/text()[normalize-space()]
【讨论】:
<td> 元素,然后进行一些字符串操作:stackoverflow.com/questions/36018524/…
如果要获取文本节点,xpath 将是:
html/body/div[5]/div[3]/div/div/div/div[2]/div/table/tbody/tr[2]/td/text()[2]
虽然 xPath 表达式可能不那么冗长。
【讨论】: