背景:
用python + selenium写的UI自动化代码,原来可运行,今天运行突然报如下的错:
selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 89
Current browser version is 91.0.4472.77 with binary path
C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
报错的原因是ChromeDriver的版本跟Chrome浏览器的版本不一致了,原来Chrome浏览器设置了自动更新,但是ChromeDriver没更新。
大体思路是:
1、安装目前浏览器版本的ChromeDriver
2、禁止chrome浏览器自动升级(通过禁用更新服务)
具体步骤如下:
1、安装目前浏览器版本对应的ChromeDriver
有两个下载地址:
1)http://chromedriver.storage.googleapis.com/index.html
2)https://npm.taobao.org/mirrors/chromedriver/
例如,我的Chrome浏览器版本是91.0.4472,
接下来,下载对应版本:
2、安装和配置
将压缩包中的chromedriver.exe复制到原存放ChromeDriver的路径(其他路径也可用):
确认下,环境变量中用户变量中PATH的配置,是否ok:
(如果是将chromedriver.exe放在其他路径的,把对应路径添加到PATH即可。)
完成后,在cmd下输入chromedriver验证是否安装成功:
3、升级chromedriver.exe后,验证执行是否报错
1 from selenium import webdriver 2 import time 3 4 driver = webdriver.Chrome() 5 driver.get('https://www.baidu.com') 6 time.sleep(1)
(笔者已用实际代码,验证可用,以上是样例。)
4、禁止Chrome浏览器自动升级(通过禁用更新服务)
Win10操作系统,此电脑-管理-服务和应用程序-服务:
在右侧服务中,找到“Google更新服务(Gupdate)"与“Google更新服务(Gupdatem)”
禁用这两项服务:
重启电脑后,Chrome浏览器将不再自动升级。