selenium - 如何使用 xpath Selenium 和 Python 查找包含特定文本的所有元素
问题描述
我试过了
driver.find_elements_by_xpath("//*[contains(text()),'panel')]")
但它只是在应该有大约 25 个时才通过一个单一的结果。
我想在 selenium 的网页上找到包含单词 panel 的所有 xpath id,并创建它们的列表。我怎样才能做到这一点?
解决方案
您问题中的 xpath 有错误,不确定是否是拼写错误,但这不会获取任何结果。有一个额外的花括号。
代替 :
driver.find_elements_by_xpath("//*[contains(text()),'panel')]")
它应该是 :
driver.find_elements_by_xpath("//*[contains(text(),'panel')]")
提示:要测试您的定位器(xpath/CSS) - 不要直接在代码中使用它,而是先在浏览器上试用。铬的例子:
- 右键单击您要自动化的网页
- 单击检查并执行 CTRL-F。
- 输入您的 xpath 并按 ENTER
您应该能够滚动浏览所有匹配的元素并验证总匹配数
推荐阅读
- python - 在终端上运行文件时如何在 Visual Studio Code 中自动清除终端?
- matlab - Matlab - 将值减少1直到没有错误
- javascript - 从 window.location 获取当前 URL 的文本片段部分
- sql - 在 AWS Athena 中按最大时间排序的 4 个具有相同列类型(但不同数据)的表的联合?
- windows - 如果无法到达目的地,如何将 ping 统计信息写入日志文件并将屏幕颜色更改为红色?
- xml - 如何在delphi中为动态选项卡创建XML
- reactjs - “此快递不可调用。'Boolean' 类型没有调用签名”
- python - 在 Python 中,使用 Anaconda 重新安装 graphviz 的最佳方法
- r - 在比较 R 中的最大值的两列时如何排除一个值
- python - Python 3 中的 Unicode 只显示问号