[英]Select Xpath Element Based on Child Node Value
假设我有xpath的一部分,看起来像
<parent elements>
<div>
<h2>Dog</h2>
<div>
<h2>Cat</h2>
<table>
<tbody>
<tr>Some Text</tr>
<tr>Some Text</tr>
<tr>Some Text</tr>
<tr>Some Text</tr>
<tr>Target</tr>
</tbody>
<div>
我首先需要将其范围缩小到仅h2标签内部值为==“ Cat”的div。 之后,我需要深入研究上述div并提取第5个tr元素。
我要克服的问题是所有div都有唯一的h2,但是它们的顺序是随机的,因此有时带有h2 ==“ Cat”的div可能是./div[1],而有时可能是./div[1]。 / DIV [5]。 一旦我用适当的h2(唯一标识符)标识了div,便可以可靠地始终提取出第5个tr元素。
我目前正在尝试下面的代码,但只返回True / False
./parent_elements[div/h2 = "Web Site Information"]
非常感谢!
由于您的示例输入XML无效,因此我将其调整为:
<parent_elements>
<div>
<h2>Dog</h2>
<div>
<h2>Cat</h2>
<table>
<tbody>
<tr>Some Text</tr>
<tr>Some Text</tr>
<tr>Some Text</tr>
<tr>Some Text</tr>
<tr>Target</tr>
</tbody>
</table>
</div>
</div>
</parent_elements>
对于此示例,以下XPath
//parent_elements//div[h2='Cat']//tr[5]
有结果
<tr>Target</tr>
该XPath选择值为h2
元素的子元素的第五个tr
,其值Cat
为parent_elements
的子元素。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.