更新了chrome浏览器的版本后,对应的Selenium版本的chromedriver不再兼容旧版本,必须重新下载对应新版本的driver
- 升级chrome浏览器版本后,运行selenium对应程序时对应报错内容如下:
selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 97
Current browser version is 99.0.4844.51 with binary path /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
- 对应报错截图如下:
下面通过淘宝镜像下载对应版本的chromedriver
-
访问淘宝镜像地址:https://npm.taobao.org/mirrors/chromedriver/
-
在上述的目录中找到对应你chrome浏览器的版本号,查找chrome浏览器版本可以浏览器的 设置—关于 里面找
-
查看chrome浏览器版本号,也可在浏览器中输入: chrome://version/ 进行查找
-
比如我的浏览器版本是 99.0.4844.51 ,使用的是 MAC的笔记本,非M1芯片,则选择以下driver
配置环境变量
- 以下是针对Mac中进行driver的环境变量配置进行说明
1)先查看一下本机终端使用的是哪一个shell,进而修改对应的终端配置文件
2)如果使用的是 bash ,会显示 /bin/bash,则是修改配置文件 :.bash_profile
3)如果使用的是 zsh,则会显示 /bin/zsh,则是修改配置文件:.zshrc
4)在配置文件 .zshrc 中添加对应 chromedriver的路径:
export PATH=${PATH}:/Users/xiaoming/software/webdriverchrome #代换为自己本机的chromedriver的绝对路径即可
5)重启终端,或者在终端执行以下命令使更改生效
source .zshrc #注意该当前目录路径是在用户的home目录下执行的
验证是否安装配置成功
-
查看 driver是否安装成功,在终端输入:chromedriver 命令,如呈现以下类似内容,则说明driver是安装成功了
-
如果要在pycharm中调试运行,则可通过以下代码查看是否能真正调起 chrome浏览器
对应代码内容如下:
from selenium import webdriverdriver = webdriver.Chrome() #注意这里是要 大写的 Chrome ,否则会报错
driver.get("https://www.baidu.com")
driver.quit()
注意:Chrome是要大写的,如果chrome是小写的话,显示报错信息如下:
TypeError: 'module' object is not callable
报错对应截图如下:
解决方案就是要确保 webdriver.Chrome() 是大写的 Chrome 即可