Python Selenium调用ChromeDriver启动Chrome崩溃报错如何解决
Linux环境Selenium Chrome启动崩溃排查与解决方案
1. 基础版本匹配检查
- 确认Chrome浏览器和chromedriver的版本完全匹配:你当前使用的chromedriver为2.26版本,仅支持Chrome 54~56版本,若系统安装的Chrome版本更高,会直接触发启动崩溃
- 查看Chrome版本命令:
google-chrome --version或chromium --version - 完全卸载旧版本chromedriver,下载与当前浏览器版本完全对应的chromedriver,放入
/usr/bin/目录后添加执行权限:chmod +x /usr/bin/chromedriver
- 查看Chrome版本命令:
2. 无图形化环境添加启动参数
Linux环境默认无桌面环境(包括WSL默认也无图形界面),Chrome启动必须添加无头模式等兼容参数,你的代码未配置相关参数是崩溃的核心原因之一,修改后的代码如下:
from selenium import webdriver from selenium.webdriver.chrome.options import Options chrome_options = Options() # 核心必加兼容参数 chrome_options.add_argument('--no-sandbox') # 取消沙盒模式,Linux/WSL环境强制要求 chrome_options.add_argument('--headless') # 无头模式,无图形界面环境必须开启 chrome_options.add_argument('--disable-gpu') # 禁用GPU加速,规避渲染异常问题 chrome_options.add_argument('--disable-dev-shm-usage') # 解决/dev/shm分区内存不足导致的崩溃 # 传入参数初始化驱动 d = webdriver.Chrome(executable_path="/usr/bin/chromedriver", options=chrome_options) d.get("https://google.co.in") # 测试可打印页面标题 print(d.title) d.quit()
3. WSL环境特殊排查
从报错的内核版本4.4.0-19041-Microsoft可判断你使用的是WSL1 Linux子系统,需额外检查:
- 优先升级到WSL2,WSL1对图形程序的兼容性更差,极易出现启动异常
- 确认WSL内安装的是Linux版本的Chrome/Chromium,而非Windows版本
- 不要使用root用户运行代码,若必须使用root账号,
--no-sandbox参数为强制要求
4. 其他常见问题排查
- 检查chromedriver执行权限:运行
ls -l /usr/bin/chromedriver,若无执行权限执行sudo chmod 755 /usr/bin/chromedriver - 检查selenium版本兼容性:你当前使用的是Python2.7对应的selenium版本,Python2.7早已停止维护,大量依赖存在兼容性问题,建议升级到Python3+并搭配对应版本的selenium
- 直接在终端运行
chromedriver测试是否有报错,若直接运行就出现异常,说明chromedriver本身和系统架构不匹配,需重新下载对应架构的安装包
内容的提问来源于stack exchange,提问作者nourhene hammouda
相关产品推荐
相关产品推荐

