让我们说我有这个html(忽略标签名称):
<div>
<card>
<h2>1</h2>
</card>
<footer>
<p>text 1</p>
</footer>
</div>
<div>
<card>
<h2>2</h2>
</card>
<footer>
<p>text 2</p>
</footer>
</div>
<div>
<card>
<h2>3</h2>
</card>
<footer>
<p>text 2</p>
</footer>
</div>
我想选择一个h2值为2的p标签(我将选择带有文本2的p)
如果我使用此表达式//h2[text()="2"]/../following::footer/p
,我将获得2个p标签。
如何仅选择表亲h2
值为2
的p标签?
编辑:Robbie Averill的答案是第一个有效的方法,但是您应该检查其他答案,它们也非常好。
答案 0 :(得分:1)
您可以从匹配的h2
导航到包含所需元素的div
,然后从此处定位footer/p
元素:
//h2[text()="2"]/../../footer/p
答案 1 :(得分:1)
尝试在XPath下面使用以选择所需的元素:
//card[h2="2"]/following-sibling::footer/p
答案 2 :(得分:1)
此XPath,
//div[card/h2="2"]/footer/p
将选择footer/p
个元素的card/h2
个堂兄弟,其字符串值为2
。