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

Google Colab中Selenium遇chromedriver意外退出(状态码1)问题求助

Google Colab中Selenium启动ChromeDriver报错(状态码1)的原因及解决方法

原因分析

  • 版本不匹配:Colab系统环境会自动更新,apt install chromium-chromedriver安装的Chromium与ChromeDriver版本可能随系统更新发生变化,二者版本不兼容会直接导致启动失败。
  • 资源不足:Colab的虚拟机属于共享资源,当所在节点内存、CPU资源紧张时,ChromeDriver无法正常初始化进程,这也是问题时好时坏的核心诱因。
  • 路径/权限问题:将chromedriver复制到/usr/bin后,可能存在权限不足,或者调用时未正确指向可执行文件的情况,导致进程启动后异常退出。

解决提示

  1. 锁定Chromium与ChromeDriver版本
    先查询当前可用的兼容版本,再指定安装,避免版本自动更新带来的不兼容:

    # 查看可用的chromium-chromedriver版本
    !apt-cache show chromium-chromedriver | grep Version
    # 安装指定版本(替换为查询到的兼容版本)
    !apt-get install -y chromium-chromedriver=114.0.5735.90-0ubuntu0.18.04.1
    !cp /usr/lib/chromium-browser/chromedriver /usr/bin
    
  2. 改用Selenium 4+的Service方式启动Driver
    避免硬编码路径,使用官方推荐的Service类管理驱动,同时确保权限正确:

    from selenium.webdriver.chrome.service import Service
    
    # 初始化Service对象,指定chromedriver路径
    service = Service('/usr/bin/chromedriver')
    driver = webdriver.Chrome(service=service, options=options)
    
  3. 增加资源优化参数
    在ChromeOptions中添加更多资源相关参数,减少资源占用:

    options.add_argument('--disable-gpu')
    options.add_argument('--disable-extensions')
    options.add_argument('--disable-images')  # 无需加载图片时可开启
    options.add_argument('--window-size=1920,1080')  # 替代maximize_window,降低资源消耗
    
  4. 添加重试机制
    针对时好时坏的情况,在启动Driver时增加重试逻辑:

    max_retries = 3
    driver = None
    for _ in range(max_retries):
        try:
            service = Service('/usr/bin/chromedriver')
            driver = webdriver.Chrome(service=service, options=options)
            break
        except WebDriverException:
            time.sleep(2)  # 重试前等待2秒
    if not driver:
        raise Exception("多次重试后仍无法启动ChromeDriver")
    
  5. 重启Colab会话
    若以上方法无效,尝试重启Colab的运行时会话,释放当前节点资源后重新执行代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 19:55:15