Chrome更新后Python Selenium+ChromeDriver运行时浏览器闪退报错
嘿,这个问题我太熟了!核心原因就是Chrome浏览器自动更新后,你的ChromeDriver版本和Chrome版本不兼容——旧的Driver已经没法适配新的Chrome,所以才会出现浏览器刚打开就闪关,还抛出报错的情况。
1. 先查清楚你的Chrome版本
打开Chrome,在地址栏输入 chrome://settings/help,就能看到当前Chrome的完整版本号(比如 118.0.5993.70),重点记住前三位数字(比如 118.0.5993)。
2. 下载对应版本的ChromeDriver
去ChromeDriver的官方下载页面,找到和你Chrome前三位版本完全匹配的Driver安装包,注意选择和你系统(Windows/macOS/Linux)对应的版本。
3. 替换旧的ChromeDriver
找到你Python环境里Selenium存放ChromeDriver的路径(从你的报错信息看,大概是 C:\Program Files (x86)\Python36-32\lib\site-packages\selenium\webdriver\chrome),把下载好的新chromedriver.exe替换掉原来的旧文件;或者把新Driver放到系统的PATH环境变量里,这样Selenium能自动找到它。
4. 验证修复
重新运行你的代码 driver = webdriver.Chrome(),正常情况下浏览器会打开并保持运行,不会再闪关了。
如果不想每次Chrome更新都手动换Driver,可以用webdriver-manager工具自动匹配版本:
- 先安装工具:
pip install webdriver-manager
- 修改你的代码:
from selenium import webdriver from selenium.webdriver.chrome.service import Service from webdriver_manager.chrome import ChromeDriverManager # 自动下载并使用匹配当前Chrome版本的Driver driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
这样每次运行代码时,工具都会自动检测Chrome版本,下载对应的Driver,彻底解决版本不兼容的问题。
内容的提问来源于stack exchange,提问作者kaki

