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

在Google Colab运行Selenium遇chromedriver异常退出问题求助

在Google Colab中运行Selenium的问题及解决方法

问题详情

执行以下代码尝试获取页面源码:

!apt update
!apt install chromium-chromedriver
!pip install selenium
# set options to be headless, ..
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument('--headless')
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')
# open it, go to a website, and get results
wd = webdriver.Chrome(options=options)
wd.get("https://www.whoscored.com")
print(wd.page_source)  # results

运行后触发错误:

WebDriverException: Message: Service chromedriver unexpectedly exited. Status code was: 1

更换Firefox驱动后,出现内存相关错误:

src/tcmalloc.cc:332] Attempt to free invalid pointer 0x24680020c5d0


修复方案

Chrome驱动修复

  1. 指定驱动路径并匹配版本
    Colab中Chromium与chromedriver可能存在版本匹配问题,手动指定路径并添加稳定参数:
!apt update
!apt install -y chromium-browser chromium-chromedriver
!pip install selenium

from selenium import webdriver
from selenium.webdriver.chrome.service import Service

options = webdriver.ChromeOptions()
options.add_argument('--headless=new')  # 启用新版无头模式,稳定性更强
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')
options.add_argument('--disable-gpu')  # 禁用GPU加速避免异常
options.add_argument('--window-size=1920,1080')  # 设置窗口尺寸保障渲染正常
options.add_argument('user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36')  # 模拟真实浏览器UA

# 手动指定chromedriver路径
service = Service('/usr/lib/chromium-browser/chromedriver')
wd = webdriver.Chrome(service=service, options=options)

wd.get("https://www.whoscored.com")
print(wd.page_source)
wd.quit()  # 必须关闭浏览器释放资源

Firefox驱动修复

若坚持使用Firefox,需配置Geckodriver并优化内存设置:

!apt update
!apt install -y firefox-geckodriver firefox
!pip install selenium

from selenium import webdriver
from selenium.webdriver.firefox.service import Service

options = webdriver.FirefoxOptions()
options.add_argument('--headless')
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')
# 关闭缓存减少内存占用
options.set_preference('browser.cache.disk.enable', False)
options.set_preference('browser.cache.memory.enable', False)
options.set_preference('browser.cache.offline.enable', False)
options.set_preference('network.http.use-cache', False)

service = Service('/usr/bin/geckodriver')
wd = webdriver.Firefox(service=service, options=options)

wd.get("https://www.whoscored.com")
print(wd.page_source)
wd.quit()

核心注意事项

  • 每次运行完毕必须调用wd.quit(),避免Colab内存泄漏;
  • 部分网站存在反爬机制,若页面仍无法获取,可添加time.sleep()延时或调整UA参数;
  • 优先保证浏览器与驱动版本匹配,Colab中通过apt安装的包通常会自动同步版本,但手动指定路径更稳妥。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 21:20:27