如何解决Google Colab中的ChromeDriver SessionNotCreatedException错误?
ChromeDriver与Chrome版本不匹配问题解答
你的想法是否正确?
不正确。Google Colab作为托管平台,脚本运行依赖的是其虚拟机环境内的ChromeDriver和Chrome浏览器,两者版本必须严格匹配——和你本地的ChromeDriver版本无关,但虚拟机里的这两个组件版本必须对应,这才是报错的核心原因。
修复方案
方案1:用webdriver-manager自动匹配版本
这是最省心的方式,它会自动识别当前Chrome版本并下载对应驱动:
- 先安装依赖库:
!pip install webdriver-manager
- 修改你的
web_driver函数:
from selenium import webdriver from webdriver_manager.chrome import ChromeDriverManager from selenium.webdriver.chrome.service import Service def web_driver(): options = webdriver.ChromeOptions() options.add_argument("--verbose") options.add_argument('--no-sandbox') options.add_argument('--headless') options.add_argument('--disable-gpu') options.add_argument("--window-size=1920, 1200") options.add_argument('--disable-dev-shm-usage') # 自动获取对应版本的ChromeDriver driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=options) return driver
方案2:手动下载对应版本的ChromeDriver
如果不想用第三方库,可手动操作:
- 根据错误信息里的Chrome版本
117.0.5938.88,下载对应版本的Linux64格式ChromeDriver - 将下载好的压缩包上传到Colab的文件目录中
- 执行以下命令解压并授权:
!unzip chromedriver_linux64.zip !chmod +x chromedriver
- 修改函数指定驱动路径:
def web_driver(): options = webdriver.ChromeOptions() options.add_argument("--verbose") options.add_argument('--no-sandbox') options.add_argument('--headless') options.add_argument('--disable-gpu') options.add_argument("--window-size=1920, 1200") options.add_argument('--disable-dev-shm-usage') # 指定手动下载的ChromeDriver路径 driver = webdriver.Chrome(executable_path='./chromedriver', options=options) return driver
内容的提问来源于stack exchange,提问作者Jonathan Cakes
相关产品推荐
相关产品推荐

