我在使用xpath返回元素时遇到问题.我需要从一张大桌子上获取第二轮TD的文字.
<tr>
<td>
<label for="PropertyA">Some text here </label>
</td>
<td> TEXT!! </td>
</tr>
Run Code Online (Sandbox Code Playgroud)
我能够找到标签元素,但是我在选择兄弟TD以返回文本时遇到了麻烦.
这是我选择标签的方式:
"//label[@for='PropertyA']"
Run Code Online (Sandbox Code Playgroud)
谢谢
Gai*_*aim 19
你正在寻找轴following-sibling.它在同一个父母的兄弟姐妹中搜索 - 就在那里tr.如果tds不相同tr则找不到它们.如果你想要它,那么你可以使用轴following.
//td[label[@for='PropertyA']]/following-sibling::td[1]
Run Code Online (Sandbox Code Playgroud)
小智 8
从label元素,它应该是:
//label[@for='PropertyA']/following::td[1]
Run Code Online (Sandbox Code Playgroud)
然后使用托管语言中的DOM方法获取字符串值.
或者选择文本节点(我不推荐的东西):
//label[@for='PropertyA']/following::td[1]/text()
Run Code Online (Sandbox Code Playgroud)
或者,如果只有这一个节点,那么您可以使用该string()功能:
string(//label[@for='PropertyA']/following::td[1])
Run Code Online (Sandbox Code Playgroud)
您还可以从共同的祖先中选择tr:
//tr[td/label/@for='PropertyA']/td[2]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13968 次 |
| 最近记录: |