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

Google Colab中Selenium运行报错:chromedriver意外退出(状态码1)

解决Colab中Selenium驱动启动失败的方案

问题分析

你的代码里有几个关键问题导致驱动启动失败:

  1. User-Agent添加时机错误:在初始化driver之后才加--user-agent参数,这个参数根本不会生效。
  2. Chromedriver路径与版本匹配问题:Colab里的Chromium版本会更新,直接用chromedriver可能出现版本不兼容。
  3. 没指定Chromium二进制路径:驱动找不到浏览器执行文件,自然启动失败。

修正后的完整运行代码

# 安装依赖(静默模式减少冗余输出)
!pip install selenium fake-useragent -q
!apt-get update -q
!apt install chromium-chromedriver -q
# 把chromedriver复制到系统可识别路径
!cp /usr/lib/chromium-browser/chromedriver /usr/bin

from selenium import webdriver
from fake_useragent import UserAgent

# 配置驱动选项
ua = UserAgent()
chrome_options = webdriver.ChromeOptions()
# 无头模式必备参数
chrome_options.add_argument('--headless')
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-dev-shm-usage')
# 提前添加随机User-Agent(必须在初始化driver前设置)
chrome_options.add_argument(f'--user-agent={ua.random}')
# 明确指定Chromium浏览器的二进制文件路径
chrome_options.binary_location = '/usr/bin/chromium-browser'

# 初始化驱动
driver = webdriver.Chrome(options=chrome_options)

# 测试:打开Google搜索页验证
driver.get('https://www.google.com')
print(driver.title)

关键修正点说明

  • 提前配置所有参数:所有浏览器选项必须在初始化driver前设置好,否则不会被驱动应用。
  • 复制驱动到系统路径:通过cp命令把chromedriver放到/usr/bin,避免驱动路径找不到的问题。
  • 指定浏览器二进制路径:明确binary_location让驱动精准找到Chromium,解决版本不匹配导致的启动崩溃。

额外应对方案

如果还是遇到版本不兼容问题:

  1. 先查看当前Colab的Chromium版本:
    !chromium-browser --version
    
  2. 下载对应版本的Chromedriver替换系统中的驱动(把[对应版本]换成实际版本号):
    !wget https://chromedriver.storage.googleapis.com/[对应版本]/chromedriver_linux64.zip
    !unzip chromedriver_linux64.zip
    !cp chromedriver /usr/bin/
    
  3. 抓取搜索结果时,记得加合理的等待(比如用WebDriverWait),避免页面没加载完就提取元素报错。

内容的提问来源于stack exchange,提问作者Alejandro Romero López

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 13:40:33