1、问题
在使用代码调用谷歌浏览器时会出错:
from selenium import webdriver
driver = webdriver.Chrome()
SessionNotCreatedException: Message: session not created: This version of ChromeDriver
only supports Chrome version 114??Current browser version is?118.0.5993.89
意思就是说:你的Chrome版本是118,但你的ChromeDriver版本是114。
2、配置ChromeDriver
1)?确定Chrome版本
我们首先确定自己的Chrome版本,在浏览器地址栏输入以下地址
chrome://version
可以看到,当前chrome是最新版本:120.0.6099.110(正式版本) (64 位)。
2)下载chromedriver
安装谷歌浏览器驱动时,国内正常用的网址是:CNPM Binaries Mirror
注意:里面最新只到114版本。
最新版本的地址:Chrome for Testing availability
注意:选择与操作系统相对应的版本进行下载,并且与谷歌安装目录安装在同一位置,注意http status要为200才是正常可用。
本例中,我的Chrome版本是120.0.6099.110,下载版本120.0.6099.71,可以正常使用
下载完成后,解压放到Chrome的安装目录下
3)配置环境变量
点击我的电脑/此电脑>>右键点击属性>>点击高级系统设置>>环境变量>>系统变量。
点击系统变量中的path,点击新增,并将chrome的安装目复制填入后,点击确定。
例如安装目录:
C:\Program Files\Google\Chrome\Application
注意:但是上面配置环境后,还是可能会报错
selenium.common.exceptions.WebDriverException: Message: ‘chromedriver‘
此时,将chromedriver.exe复制到你安装chrome浏览器目录下的Application文件夹中和python目录文件夹中即可解决。(由此,我们可以不配置环境,之间复制到这两个文件夹)
附录
杀死chromedriver.exe后台运行进程
以管理员身份打开电脑的cmd,输入以下指令结束进程,/F表示强制结束进程,/IM表示根据进程名结束进程。
TASKKILL /F /IM chromedriver.exe
或者
import os
if __name__ == '__main__':
command = 'TASKKILL /F /IM chromedriver.exe'
os.system(command)