我有这样的结构:

<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']

#1楼 票数:1 已采纳

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

  • 路径

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

#2楼 票数:0

您可以转到“文本 2”,然后可以使用precedinga[1]来获取“文本 1”。
你的 xpath 应该是这样的:

//a[contains(text(),'Text 2')]//preceding::a[1]

  ask by Abhinav Kushagra translate from so

未解决问题?本站智能推荐:

2回复

如何使用Selenium获取元素的部分文本

我有这个HTML: 我想使用xpath从div[@id = 'msg']提取ul之前的文本。 像driver.findElement(By.xpath("xpath")).getText() -> text1 text2 text3 text4 有可能还是我应该使用其他
1回复

org.openqa.selenium.InvalidSelectorException:无效的选择器SyntaxError:意外的令牌}通过Xelenet Java使用XPath

我正在尝试单击以下HTML中的最后一个span元素 <div class="rating rating-set js-ratingCalcSet" > <div class="rating-stars js-writeReviewStars"> <s
2回复

如何通过Selenium使用xpath定位元素

如何通过Selenium使用xpath定位元素 代码试用: HTML: <h2 class="a-size-mini a-spacing-none a-color-base s-line-clamp-2"> <a class="a-link-normal a-
2回复

如何使用Selenium和Python在HTML中引用文本定位元素

我有一个URL列表,我需要遍历。 所有URL都将登陆网站的主页。 我需要在主页上的某个位置找到指向包含“查找医生”的网站另一部分的链接,因为我需要导航到每个站点上的“查找医生”部分。 我试图使用XPath包含来查找元素。 这是一个特定URL上的HTML外观,但是由于我要遍历各种
2回复

根据表行中另一个元素的值查找元素的 Xpath

我是 Xpath 的新手,所以如果这不包含所有相关信息,请道歉并告诉我您需要解决什么问题。 我试图找到一个 Xpath 到一个“扩展箭头”元素,它扩展了表格中的一行。 “展开箭头”元素不是唯一的,所以我想根据同一行上另一个元素中包含的文本来选择它。 布局如下: <td id
2回复

如何使用 Selenium 处理同一个定位器的多个 xpath?

如何使用 Selenium 处理同一个定位器的多个 xpath,即如果一个定位器失败,则在脚本失败之前对同一字段使用另一个定位器。
2回复

如何使用 Selenium 和 Python 从通过 xpath 找到的 webdriver 元素中提取文本

我有工作代码: options_elemets是一个包含 5 个selenium.webdriver.remote.webelement.WebElement的数组,每个options_elemets都包含text 。 结果option正是我所需要的。 为什么我不能将其更改为: ? 测试
2回复

对于以下代码,可以使用哪些定位器策略在硒中找到元素

使用哪个定位器查找元素年鉴? 使用LinkText尝试过还包括所有其他定位器。 好像不起作用