You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python环境下如何实现Selenium脚本的循环执行?

Selenium脚本循环执行实现方法

以下提供两种常用的实现方案:

方案1:固定次数循环(指定执行N次)

如果你需要循环执行固定次数的操作,直接用for循环包裹函数调用逻辑即可,示例代码如下:

from selenium import webdriver
import time

driver = webdriver.Firefox()
# 定义执行次数,这里设置为5次,可自行修改
exec_count = 5

def change_password():
    driver.get("http://nsagov.ru/Users/Login.aspx")
    driver.find_element_by_xpath("/html/body/form/div[4]/div[1]/table/tbody/tr/td/div/table/tbody/tr[4]/td/div/a/span").click()
    driver.find_element_by_id("ContentPlaceHolder1_GetNewPasswordPopup_EmailTB_I").send_keys("test@mail.com")
    driver.find_element_by_xpath("//div[@id='ContentPlaceHolder1_GetNewPasswordPopup_TPCFm1_GetPasswordButton_CD']/span").click()

# 循环执行
for i in range(exec_count):
    change_password()
    # 每次执行完间隔3秒再执行下一次,可自行调整时间
    time.sleep(3)

time.sleep(5)
driver.quit()

方案2:无限循环(手动终止时停止)

如果需要一直执行直到你手动停止,可以用while True搭配异常捕获实现,按下Ctrl+C即可终止程序:

from selenium import webdriver
import time

driver = webdriver.Firefox()

def change_password():
    driver.get("http://nsagov.ru/Users/Login.aspx")
    driver.find_element_by_xpath("/html/body/form/div[4]/div[1]/table/tbody/tr/td/div/table/tbody/tr[4]/td/div/a/span").click()
    driver.find_element_by_id("ContentPlaceHolder1_GetNewPasswordPopup_EmailTB_I").send_keys("test@mail.com")
    driver.find_element_by_xpath("//div[@id='ContentPlaceHolder1_GetNewPasswordPopup_TPCFm1_GetPasswordButton_CD']/span").click()

try:
    while True:
        change_password()
        time.sleep(3)
# 捕获手动终止的信号,正常关闭浏览器
except KeyboardInterrupt:
    print("程序已手动终止")
finally:
    time.sleep(5)
    driver.quit()

注意事项

  • 如果你需要每次循环都使用全新的浏览器会话,把driver = webdriver.Firefox()和driver.quit()逻辑移动到循环内部即可
  • 新版本Selenium已废弃find_element_by_xxx系列API,建议替换为find_element(By.属性, 值)的写法,使用前需要先导入from selenium.webdriver.common.by import By
  • 可根据实际需求调整两次执行之间的间隔时间,避免请求频率过高触发站点限制

内容的提问来源于stack exchange,提问作者em0ji

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 13:45:03