ChromeDriver兼容问题求助:导入Chrome 81仍报SessionNotCreatedException
我来帮你排查这个问题,这种版本不匹配的坑我遇到过好多次,咱们一步步来定位和解决:
确认Chrome浏览器的实际运行版本
有时候你以为装了Chrome 81,但系统可能默认启动的是另一个版本。打开Chrome,在地址栏输入chrome://version/,查看页面顶部的「版本」字段,确认是不是严格的81.x.x.x(比如81.0.4044.138这类完整版本号)。如果版本不对,说明你安装的Chrome 81没有被设为默认,或者被自动更新覆盖了。验证ChromeDriver的版本是否完全匹配
ChromeDriver的版本必须和Chrome的主版本完全一致,不能只看大版本是81。比如Chrome是81.0.4044.138,你就得下载对应版本的ChromeDriver(也是81.0.4044.138)。你可以在命令行里执行chromedriver --version,看看输出的版本号是不是和Chrome完全对应。检查环境变量与路径配置
如果你的系统里之前装过其他版本的ChromeDriver,系统可能优先调用旧版本。先确认环境变量「PATH」里的ChromeDriver路径是不是指向你新下载的81版本。如果是在代码里指定路径,一定要确保代码里的路径是正确的81版本文件路径,比如:- Python示例:
driver = webdriver.Chrome(executable_path="/path/to/chromedriver_81") - Java示例:
System.setProperty("webdriver.chrome.driver", "C:\\path\\to\\chromedriver_81.exe");
- Python示例:
禁用Chrome自动更新(关键步骤)
很多时候问题出在Chrome自动偷偷更新到了更高版本,覆盖了你安装的81版本。你需要禁用自动更新:- Windows:可以通过组策略(
gpedit.msc)找到「计算机配置>管理模板>Google>Google Chrome>更新」,设置「更新政策覆盖」为「已禁用」;或者修改注册表,在HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome下新建DWORD值AutoUpdateCheckPeriodMinutes,设为0。 - Mac:打开Chrome偏好设置,进入「关于Chrome」,取消自动更新;或者在终端执行
defaults write com.google.Chrome AutoUpdateCheckPeriodMinutes 0。
- Windows:可以通过组策略(
如果以上步骤都试过还是不行,你可以再检查一下是不是Chrome的安装路径有多个,代码里有没有通过ChromeOptions指定错误的Chrome二进制路径(比如设置binary_location指向正确的Chrome 81安装文件)。
内容的提问来源于stack exchange,提问作者Khushboo Kumari

