python - len(browser.find_elements_by_class_name('foo')) 给出 0
问题描述
我正在使用 python 3.7 并且在 selenium 中出现错误
我有一个看起来像这样的网站:
<html>
<body>
<div class="foo">
<div class="bar1">something clickable</div>
<div class="bar2">something clickable</div>
<div class="bar3">something clickable</div>
<div class="bar4">something clickable</div>
</div>
<body>
<html>
我想使用 selenium 来单击每个条,所以我写道:
from selenium import webdriver
browser=webdriver.Chrome()
browser.get('https://www.some-website.com')
for i in browser.find_elements_by_class_name('foo'):
i.click()
但是,执行时我什么也没得到,所以我运行:
print(len(browser.find_elements_by_class_name('foo')))
输出零
即使我放WebDriverWait
之前我仍然得到零......
为什么?
解决方案
试试这个 xpath 这将返回 4 个 webelements
driver.find_elements_by_xpath("//div[@class='foo']//*")
推荐阅读
- drive - 需要 Windows 在 Ubuntu 的双启动时显示操作系统
- java - response.isSuccessful() Android 表单清除问题
- xamarin.forms - Xamarin.Forms macOS 应用程序未找到 netstandard 程序集
- java - 如何下载/解压缩一长串文件并在 Java 中处理每个文件
- angular - 为什么 mdc-top-app-bar 不显示正确的 MDC
- python - 如何在每个 tkinter.text 输入上播放声音样本?
- javascript - 在tippy.js 中获取正确的“this”值
- grafana - 在 Grafana 中是否可以使用带有 JSON 字段的源数据表从该字段获取属性?
- python-3.x - 比较 base64 中相同的序列化 matplotlib 图会产生错误。如何仅使用序列化数据正确比较它们?
- c# - 如何使用 Visual Studio 将 ASP.NET Web 应用程序(.Net Framework)发布到 FTP 服务器?