我试图写一个xpath
来获取下面"I want to get this text snippet"
的文字。
<root>
<div class="box">
<div class="col-lg-12">
<h2>Issuer</h2>
</div>
</div>
<div class="table-responsive">
<table class="table">
<tbody>
<tr>
<td> Name </td>
<td class="text-right"> I want to get this text snippet </td>
</tr>
</tbody>
</table>
</div>
</root>
到目前为止,我有这个:
//h2["Issuer"]/parent::div/parent::div/following-sibling::div//td["Name"]/following-sibling::td/text()
目前这一行有两个部分:
//h2["Issuer"]/parent::div/parent::div/following-sibling::div
将我们带到<div class="table-responsive">
。//td["Name"]/following-sibling::td/text()
将我们带到<td>
区块中的文字片段目标。这两个部分都很重要,因为真实网页源代码中有多个位置可以找到<td> Name </td>
。因此,第一部分确定整体结构的开始位置。
我使用//
引导第二部分是否正确下降到符合条件的任何子节点?我问这个是因为我无法找到匹配。
答案 0 :(得分:2)
您几乎是正确的,只需添加文本检查:
//td[normalize-space(.) = "Name"]/following-sibling::td[1]/text()