如何使用 xpath 相对于通过 innerText 识别的另一个元素定位一个元素
How to locate an element with respect to another element identified through innerText using xpath
我有这样的结构:
<ul>
<div class="someclass">
<li>
<img/>
<img/>
<a> <span> Text 1 </span> <a/>
</li>
<li>
<img/>
<img/>
<a> <span> Text 2 </span> <a/>
</li>
</div>
<ul/>
我想搜索 "Text 2" 并返回到其中的第一个“<img />
”,我不能再继续 //div[@class='someclass']/li//following-sibling::a/span[text()='Text 2']
您可以到达 "Text 2",然后您可以使用 preceding
和 a[1]
来获得 "Text 1"。
你的 xpath 应该是这样的:
//a[contains(text(),'Text 2')]//preceding::a[1]
要搜索文本为 Text 2
的元素并引用它来定位第一个 <img/>
标记,您可以使用以下 xpath 基于解决方案:
xpath:
"//div[@class='someclass']//li//a/span[normalize-space()='Text 2']//preceding::img[2]"
我有这样的结构:
<ul>
<div class="someclass">
<li>
<img/>
<img/>
<a> <span> Text 1 </span> <a/>
</li>
<li>
<img/>
<img/>
<a> <span> Text 2 </span> <a/>
</li>
</div>
<ul/>
我想搜索 "Text 2" 并返回到其中的第一个“<img />
”,我不能再继续 //div[@class='someclass']/li//following-sibling::a/span[text()='Text 2']
您可以到达 "Text 2",然后您可以使用 preceding
和 a[1]
来获得 "Text 1"。
你的 xpath 应该是这样的:
//a[contains(text(),'Text 2')]//preceding::a[1]
要搜索文本为 Text 2
的元素并引用它来定位第一个 <img/>
标记,您可以使用以下 xpath 基于解决方案:
xpath:
"//div[@class='someclass']//li//a/span[normalize-space()='Text 2']//preceding::img[2]"