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

Google Colab中使用Selenium与Chrome时遭遇WebDriverException求助

在Google Colab中解决Selenium+Chromium启动失败问题

问题背景

已完成以下依赖安装:

!pip3 install -U selenium
!pip3 install webdriver-manager
!apt-get install -y chromium-browser
!apt install chromium-chromedriver

但运行Selenium代码时先后出现两类错误:

  • 使用executable_path参数时触发弃用警告,且WebDriver意外退出(状态码1)
  • 改用Service对象后,出现DevToolsActivePort file doesn't exist错误,提示Chrome进程异常退出

解决方案

问题核心是Colab环境需明确指定Chromium二进制文件路径,同时适配新版Selenium的无头模式配置。以下是可直接运行的完整流程:

1. 确保依赖适配(若已安装可跳过)

!pip install -U selenium
!pip install webdriver-manager
!apt-get update
!apt-get install -y chromium-browser chromium-chromedriver
!ln -s /usr/lib/chromium-browser/chromedriver /usr/bin/chromedriver

2. 正确配置Selenium代码

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager

options = Options()
# Colab环境必需的配置参数
options.add_argument("--no-sandbox")
options.add_argument("--headless=new")  # 新版无头模式,替代旧--headless参数
options.add_argument("--disable-gpu")
options.add_argument("--disable-dev-shm-usage")
options.add_argument("--remote-debugging-port=9222")  # 解决DevToolsActivePort缺失问题
options.binary_location = "/usr/bin/chromium-browser"  # 明确指定Chromium执行文件路径

# 初始化驱动并测试
driver = webdriver.Chrome(
    service=Service(ChromeDriverManager().install()),
    options=options
)
driver.get("https://www.google.com")
print(driver.title)  # 输出页面标题验证启动成功
driver.quit()

关键配置说明

  • --headless=new:新版Selenium推荐的无头模式参数,避免旧版无头模式的兼容性异常
  • options.binary_location:强制指定Colab中Chromium的实际路径,防止ChromeDriver找不到浏览器程序
  • --remote-debugging-port=9222:通过指定调试端口,解决DevToolsActivePort file doesn't exist错误
  • 软链接命令ln -s ...:将chromedriver映射到系统PATH目录,确保驱动可被正常识别

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 11:45:25