如何使用查找具有两个可能的类名的元素XPath
表达?
我正在使用PythonSelenium
我想找到所有元素class
有两个可能的名称之一。
- class="item ng-scope 突出显示"
- 类=“项目ng范围”
'//div[@class="list"]/div[@class="item ng-scope highlight"]//h3/a[@class="ng-binding"]'
当然,我可以进行两次单独的搜索并将结果连接到一个列表中。但还有一种更简单、更有效的方法。也许通过使用|
.
您可以使用or
:
//div[@class="list"]/div[@class="item ng-scope highlight" or @class="item ng-scope"]//h3/a[@class="ng-binding"]
注意ng-scope
一般来说,这不是一个好的类名,因为它是一个“纯技术”的 AngularJS 特定类(同样适用于ng-binding
实际上)角度元素具有。请查看是否使用contains()
并检查item
仅类就足以涵盖用例:
//div[@class="list"]/div[contains(@class, "item")]//h3/a[@class="ng-binding"]
仅供参考,请注意 CSS 选择器在您的情况下有多简洁:
div.list > div.item h3 a
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)