无法使用Xpath获取TH数据下方的TD数据

时间:2013-01-06 18:28:23

标签: xpath selenium

对于我的生活,我不明白为什么我不能抓住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>

2 个答案:

答案 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")]