我想根据其属性查找元素。
我已经尝试过按所有div搜索,并按属性指定,甚至按*搜索。这些都不是解决方案。 整个元素看起来像这样:
<div class="charc" data-lvl="66" data-world="walios" data-nick="mirek">
这是我的搜索表达式:
driver.find_element_by_xpath('//div[@data-world="walios"] and [@data-nick="mirek"]')
我想使用带硒的python查找此元素,并能够单击它。
实际上我遇到了错误
SyntaxError:无法在'Document'上执行'evaluate':字符串'// div [@ data-world =“ walios”]和[@ data-nick =“ mirek”]'不是有效的XPath表达式
我在做什么错了?
答案 0 :(得分:0)
该错误消息是正确的,因为您的谓词不正确。
尝试将谓词放在一个[...]
表达式中:
driver.find_element_by_xpath('//div[@data-world="walios" and @data-nick="mirek"]')
答案 1 :(得分:0)
driver.find_elements_by_xpath("//div[@data-world="walios" and @data-nick="mirek)]")
或
driver.find_elements_by_xpath("//div[@data-world="walios"][@data-nick="mirek)]")
用于选择标签的多个条件不能在嵌套[]中。您必须在一个[]或多个[]中指定。
XPath轴方法:
这些XPath轴方法用于查找复杂或动态元素。下面我们将看到其中一些方法。
XPath表达式根据XML文档中的ID,Name,Classname等属性选择节点或节点列表。