对于我的生活,我不明白为什么我不能抓住th下面的td文本。
我试过这个('// th(包含(text(),“我需要的文字就是这个”))')它确实抓住了它想要抓住的实际行,但是我想要抓住的是下面的td / a链接中的文字。
追加('// th(包含(text(),“我需要的文字是在此之后”)] / td / a')或者只是 ('// th(包含(text(),“我需要的文字是在此之后”)] / td')找不到任何匹配。
这是HTML
<tr class="">
<th scope="row" style="text-align:left;">Text I Need Is After This</th>
<td class="" style="">
<a href="/wiki/Queens" title="Queens">Queens</a>,
<a href="/wiki/New_York" title="New York">New York</a>,
<a href="/wiki/United_States" title="United States">United States</a>
</td>
</tr>
答案 0 :(得分:4)
向第一个语句添加/td/a
告诉XPath找到<th>
的子节点,而不是<th>
。因此,如果您想直接找到<td>
节点以及<a>
和following-sibling
,请使用//th[contains(text(), "Text I Need Is After This")]/following-sibling::td
函数,如下所示:
{{1}}
答案 1 :(得分:3)
你应该使用类似的东西:
td[contains(preceding-sibling::text(), "Text I Need Is After This")]