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

如何让Python Selenium Webdriver编写的类实现无限运行直至手动停止

实现Selenium脚本无限循环运行的方案

核心实现逻辑是通过while True构建无限循环执行核心业务逻辑,同时添加异常捕获处理手动终止信号,程序退出时主动释放浏览器驱动资源,避免后台残留无用进程。

修改后的完整代码

import time
from selenium import webdriver
# Selenium 4.0及以上版本需要额外导入By类
# from selenium.webdriver.common.by import By

class Mybot:
    def __init__(self):
        # 驱动初始化、地址录入仅执行一次,避免反复打开关闭浏览器
        self.target_url = input("Enter URL Here : ")
        # 替换为你本地的chromedriver实际路径
        self.driver = webdriver.Chrome("你的chromedriver路径")
    
    def run_single_task(self):
        self.driver.get(self.target_url)
        time.sleep(5)
        # Selenium 3及以下版本可用原find_element_by_*写法
        search_box = self.driver.find_element_by_name('q')
        # Selenium 4.0及以上版本建议替换为如下写法
        # search_box = self.driver.find_element(By.NAME, 'q')
        search_box.clear()
        search_box.send_keys('Free Fire')
        search_box.submit()
        # 替换为你实际需要点击的元素XPath路径
        self.driver.find_element_by_xpath('你的目标元素XPath').click()
        time.sleep(5)
    
    def release_resource(self):
        # 退出驱动,关闭关联的所有浏览器窗口
        self.driver.quit()

if __name__ == "__main__":
    bot = Mybot()
    try:
        # 无限循环执行业务逻辑
        while True:
            bot.run_single_task()
            # 两次任务之间的间隔时间,可根据需求自行调整
            time.sleep(3)
    # 捕获Ctrl+C手动终止信号
    except KeyboardInterrupt:
        print("已手动终止程序运行")
        bot.release_resource()
    # 捕获其他运行异常,避免直接闪退且残留进程
    except Exception as err:
        print(f"程序运行出错,错误信息:{err}")
        bot.release_resource()

关键修改说明

  • 把原__init__中的业务逻辑抽离为单独的执行方法,避免初始化函数逻辑过重,也方便循环调用
  • 外层通过while True持续调用业务逻辑方法,实现无限循环运行
  • 新增KeyboardInterrupt异常捕获,你按下Ctrl+C手动终止程序时,会自动关闭浏览器、释放驱动资源
  • 新增通用异常捕获分支,单次任务执行出错时也会主动释放资源,避免后台残留Chrome进程
  • 你可以根据自己的需求调整两次任务之间的间隔时长,也可以将固定time.sleep替换为显示等待,提升脚本运行稳定性

注意事项

  • 代码中留空的chromedriver路径、目标元素XPath需要替换为你自己的实际参数
  • 如果你使用的是Selenium 4.0及以上版本,原有的find_element_by_*系列方法已经被官方弃用,建议替换为代码中注释的By系列写法

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 05:48:03