Python Selenium点击脚本循环问题:应在哪添加while实现重复开闭站点
循环添加位置说明
你需要把完整的执行流程(浏览器初始化、访问站点、点击操作、关闭浏览器)全部包裹在while循环内部,每次关闭浏览器后webdriver实例会被销毁,下次循环必须重新初始化实例才能正常运行。
修改后可运行代码
from selenium import webdriver from webdriver_manager.chrome import ChromeDriverManager import time # 自定义执行次数,设置为-1时可调整为无限循环 max_run = 10 current_count = 0 while current_count < max_run: # 每次循环都重新初始化浏览器实例 browser = webdriver.Chrome(ChromeDriverManager().install()) browser.get('https://www.targetsite.com/') time.sleep(6) button = browser.find_element_by_name('Products') button.click() time.sleep(5) browser.close() current_count += 1 # 若使用无限循环,可在此处添加终止判断条件,满足时调用break跳出循环
注意事项
- 如果不需要每次都重启浏览器,仅需把
browser.close()替换为返回首页/清理站点缓存的逻辑,同时将webdriver初始化代码移到循环外即可 - 若使用Selenium4及以上版本,
find_element_by_name方法已废弃,需替换为browser.find_element(By.NAME, 'Products'),同时在文件头部添加导入语句from selenium.webdriver.common.by import By - 可根据目标站点的实际加载速度调整
time.sleep()的时长,避免元素未加载完成就执行操作抛出异常
内容的提问来源于stack exchange,提问作者ugur guler
相关产品推荐
相关产品推荐

