selenium - xpath selenium 多重/与运算符

标签 selenium xpath

谁能帮忙解决这个困境

I have this code:
  <div>
    <a href="/cars/102392-2">Link</a>
    <span class="make">Chevrolet</span><br>
    <span class="year">1956</span><br>
    <span class="price">$20,000</span><br>
  </div>

  <div>
    <a href="/cars/152933-11">Link</a>
    <span class="make">Ford</span><br>
    <span class="year">1958</span><br>
    <span class="price">$21,000</span><br>
  </div>

我需要获取年份大于 1950 的福特汽车的链接。

目前,我使用以下 xpath:

//*[text()='Ford' and .//text()>'1950']//parent::a 

这行不通!你有什么想法吗?

最佳答案

这是一种可能的 XPath:

//div[span/text()='Ford' and span/text()>1950]/a

基本上,XPath 检查 div 是否具有文本等于“Ford”的子 span 和另一个值大于 1950 的子 span。然后从符合上述两个条件的 div 中,返回子 a 元素。

demo

更好的是,仅检查制造商类“make”的 span 和制造年份类“year”的 span:

//div[span[@class='make']='Ford' and span[@class='year']>1950]/a

关于selenium - xpath selenium 多重/与运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43990506/

相关文章:

java - 在 gitlab-ci 中运行 selenium 测试用例时出现 chrome 无法访问错误。似乎 headless chrome 存在一些问题,任何人都可以帮忙解决这个问题

python - 使用 xpath 单击按钮

xml - 为什么撇号会在 xsl :when 的测试属性上引发错误

python - Selenium - 发送 key - 我应该使用什么元素

testing - 运行 selenium IDE 脚本时用户手动输入

xml - 使用xslt在父节点下查找所有唯一的xml first节点

xml - 使用 xpath 从 postgres 中的 XML 列中提取数据

xslt - 如何将xslt版本2.0转换为版本1.0

javascript - Protractor/WebDriverJS 中被拒绝的 promise

java - 使用 JUnit 的 Selenium