假设我有一段看起来像
的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 [5]。一旦我用正确的h2(唯一标识符)识别div,我就可以可靠地始终精确地提取第5个tr元素。
我目前正在尝试下面的代码,但它只返回True / False
./parent_elements[div/h2 = "Web Site Information"]
非常感谢!
答案 0 :(得分:1)
由于您的示例输入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选择第tr
个h2
元素作为Cat
元素的子元素,其值parent_elements
是{{1}}的子元素。