【问题标题】:How to create loop in Python Selenium如何在 Python Selenium 中创建循环
【发布时间】:2020-02-15 09:21:25
【问题描述】:

我很新,所以我需要一些帮助。你能帮我为以下操作创建一个循环吗?单击所有按钮并刷新页面,然后再执行 100 次,例如。enter image description here

my code

【问题讨论】:

  • 请阅读本文,如何提问stackoverflow.com/help/how-to-ask。如果您是新手,请尝试仅使用打印件进行循环。简单看一下你的代码,点击一个元素后,你必须重新获取所需的元素,因为它们应该改变,你会得到错误 Dom has changed
  • 我的问题是是否有办法重复我上面多次显示的代码,因为它现在的工作方式没有任何错误?
  • 那么,如果你不想听从提示,我的回答是,祝你好运
  • @Wonka,谢谢,今天让我笑了! :)

标签: python selenium for-loop while-loop repeat


【解决方案1】:

根据您提供的最小示例,您可以很容易地重构它。以下是我将如何解决这个问题:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC


# wait on buttons
WebDriverWait(driver, 10).until(EC.presence_of_all_elements_located(
    (By.XPATH, "//*[@class='btn default check check green markAsChecked']")))

buttons = driver.find_elements_by_xpath("//*[@class='btn default check check green markAsChecked']")

# click buttons in a loop
for button in buttons:
    button.click()

我在按钮之间添加了一个 WebDriverWait,因为最好在点击元素之前等待它们。

【讨论】:

    猜你喜欢
    • 2020-09-16
    • 2021-10-15
    • 2021-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-19
    • 2022-11-08
    • 2019-03-01
    相关资源
    最近更新 更多