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

Python undetected_chromedriver循环启动报Chrome不可达问题如何解决

问题修复方案

核心错误原因

  • 驱动实例初始化放在循环外部,第一次循环执行driver.quit()后实例已被销毁,后续循环调用已销毁的实例方法必然触发连接失败错误
  • 计数语法错误:代码中count =+ 1等价于将count固定赋值为1,会造成无限循环,正确写法为count += 1

修复后可运行代码

# 依赖安装:pip install undetected-chromedriver
import undetected_chromedriver.v2 as uc
import time
import os

options = uc.ChromeOptions()
options.add_argument('--no-first-run')
# 可选配置:无头模式,不需要可视化界面时可以开启
# options.add_argument('--headless=new')

length = 8
count = 0

while count < length:
    print(f"当前是第 {count} 次循环")
    time.sleep(2)
    # 每次循环都重新初始化驱动实例
    driver = uc.Chrome(options=options)
    with driver:
        print("进入循环逻辑")
        driver.get("https://google.com")
        time.sleep(5)
        print("循环逻辑执行完成,销毁驱动")
        driver.quit()
    count += 1
    # Linux环境下额外清理残留进程,避免驱动/Chrome进程残余占用端口
    os.system("ps -ef | grep chrome | grep -v grep | awk '{print $2}' | xargs kill -9 2>/dev/null")

额外优化建议

  • 如果凭证校验不需要每次都清空浏览器上下文,也可以选择只初始化1次驱动实例,循环内只调用driver.delete_all_cookies()清空缓存即可,不需要每次销毁重建驱动,运行效率会更高
  • 驱动销毁后可以加1~2秒的等待时间,给系统释放端口的缓冲,避免端口占用冲突
  • 如果是多账号批量测试,建议添加错误捕获逻辑,单次账号校验失败时打印错误信息后继续执行下一个账号,不会中断整批任务

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 09:45:04