Xpath以匹配另一个节点中的后续兄弟

时间:2014-07-10 07:07:46

标签: xpath

这是我的HTML代码:

<tr>
                <th class="left_cont"><strong>Hello world</strong></th>
                <td class="right_cont padding_left16px"><strong>Hi There</strong></td>
</tr>

现在选择我使用的文字Hellow world。

//strong[contains(text(),'Hello world')]

对我来说很好。

现在我需要相对于hello world text选择文本Hi there

我需要做这样的事情,但我无法弄明白。

//strong[contains(text(),'Hello world')]/following-sibling::strong

不适合我。

2 个答案:

答案 0 :(得分:1)

具有兄弟关系的元素是<strong>的父元素,而不是<strong>它自己的元素,所以你可以尝试这种方式:

//*[strong[contains(.,'Hello world')]]/following-sibling::*[strong]/strong

或者,如果您确定所涉及的父母始终是<th><td>

//th[strong[contains(.,'Hello world')]]/following-sibling::td[strong]/strong

答案 1 :(得分:0)

第二个“强”元素实际上不是第一个元素的兄弟。但包装“td”元素是兄弟姐妹。所以你可以使用

//strong[contains(text(),'Hello world')]/../following-sibling::td/strong