硒中的XPath问题



我想根据它的属性找到元素。

我已经尝试过按所有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和硒找到这个元素,并能够点击它。

其实我收到错误

语法错误:无法对"文档"执行"评估":字符串"//div[@data-world="walios"] 和 [@data-nick="mirek"]"不是有效的 XPath 表达式。

我做错了什么?

错误消息是正确的,因为您的谓词不正确。
尝试将谓词放在一个[...]表达式中:

driver.find_element_by_xpath('//div[@data-world="walios" and @data-nick="mirek"]')

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、名称、类名等属性选择节点或节点列表。

最新更新