距离给定元素最近的xpath元素
使用xpath返回元素时遇到问题。 我需要从一个大表中获取第二个TD的文本距离给定元素最近的xpath元素,xpath,selenium,Xpath,Selenium,使用xpath返回元素时遇到问题。 我需要从一个大表中获取第二个TD的文本 <tr> <td> <label for="PropertyA">Some text here </label> </td> <td> TEXT!! </td> </tr> 感谢标签中的元素,它应该是: //label[@for='PropertyA']/following::td[1] 然后使用宿主语言中的
<tr>
<td>
<label for="PropertyA">Some text here </label>
</td>
<td> TEXT!! </td>
</tr>
感谢
标签中的元素,它应该是:
//label[@for='PropertyA']/following::td[1]
然后使用宿主语言中的DOM方法来获取字符串值
或者使用以下选项选择文本节点(我不推荐):
或者,如果只有这一个节点,则可以使用string()
函数:
string(//label[@for='PropertyA']/following::td[1])
您还可以从公共祖先tr
中进行选择,如:
//tr[td/label/@for='PropertyA']/td[2]
您正在查找以下同级轴。它在同一父级中的兄弟姐妹中搜索-在那里它是tr
。如果td
s不在同一tr
中,则找不到它们。如果需要,可以使用以下轴
//td[label[@for='PropertyA']]/following-sibling::td[1]
获取以下任何元素:
//td[label[@for='PropertyA']/following sibling::*+1用于使用following sibling
而不是following
。前者是一种更稳健的方法-出错的可能性更小,例如,如果没有以下兄弟::td,则不会选择错误的td。
//tr[td/label/@for='PropertyA']/td[2]
//td[label[@for='PropertyA']]/following-sibling::td[1]