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
相关产品推荐
相关产品推荐

