首页 > 解决方案 > 如何使用 xpath 相对于通过 innerText 标识的另一个元素定位一个元素

问题描述

我有这样的结构:

<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/>

我想搜索“文本 2”并返回第一个“ <img />”,我不能再继续了//div[@class='someclass']/li//following-sibling::a/span[text()='Text 2']

标签: javaseleniumselenium-webdriverxpathxpath-1.0

解决方案


要使用文本搜索元素Text 2并引用它来定位第一个<img/>标签,您可以使用以下基于的解决方案:

  • 路径

    "//div[@class='someclass']//li//a/span[normalize-space()='Text 2']//preceding::img[2]"
    

推荐阅读