首页 > 解决方案 > 如何使用 xpath Selenium 和 Python 查找包含特定文本的所有元素

问题描述

我试过了

driver.find_elements_by_xpath("//*[contains(text()),'panel')]") 

但它只是在应该有大约 25 个时才通过一个单一的结果。

我想在 selenium 的网页上找到包含单词 panel 的所有 xpath id,并创建它们的列表。我怎样才能做到这一点?

标签: seleniumselenium-webdriverxpathwebdriverwaitxpath-1.0

解决方案


您问题中的 xpath 有错误,不确定是否是拼写错误,但这不会获取任何结果。有一个额外的花括号。

代替 :

driver.find_elements_by_xpath("//*[contains(text()),'panel')]") 

它应该是 :

driver.find_elements_by_xpath("//*[contains(text(),'panel')]") 

提示:要测试您的定位器(xpath/CSS) - 不要直接在代码中使用它,而是先在浏览器上试用。铬的例子:

  1. 右键单击您要自动化的网页
  2. 单击检查并执行 CTRL-F。
  3. 输入您的 xpath 并按 ENTER

您应该能够滚动浏览所有匹配的元素并验证总匹配数


推荐阅读