python - 在 Selenium/Python 中迭代 WebElements

标签 python selenium selenium-webdriver

我尝试遍历 Web 元素列表并单击列表中的每个元素,但在第一次单击后我得到了 StaleElementReferenceException。据我了解,页面刷新并且元素的 id 变得“陈旧”。有解决方法吗?谢谢

elements = driver.find_elements_by_css_selector("span.name")
for element in range(len(elements)):
    elements[element].click()

最佳答案

如果点击元素后只改变元素的id,可以使用下面的代码:

elements = driver.find_elements_by_css_selector("span.name")
for element in range(len(elements)):
    elements[element].click()
    elements = driver.find_elements_by_css_selector("span.name")

关于python - 在 Selenium/Python 中迭代 WebElements,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43036566/

相关文章:

python - 将两个列表合并到字典中并对第二个列表的元素求和

java - 使用 Java 中的 Selenium 读取文本并单击表格的特定行

java - 如何使用 Java 在 Selenium Webdriver 中通过标题名称而不是索引/键来引用 Excel 列?

python - 在 Selenium 中找不到项目时如何引发错误并转到其他功能

Selenium 网格 : Identify WebDriver node where a test failure occured

ssl - 使用 protocol-selenium 插件 nutch 时出现 javax.net.ssl.SSLHandshakeException

python - 如何在PyQt4中加载和保存数据?

python - 两列第一个位置的 NaN(按每个唯一值)

python - SQLAlchemy:触发器不在 INSERT 上触发

java - 断言 2 个字符串按字母顺序排列