selenium自动化“ChromeDriver”和浏览器版本不同解决办法

您所在的位置:网站首页 钢结构夹层设计文件 selenium自动化“ChromeDriver”和浏览器版本不同解决办法

selenium自动化“ChromeDriver”和浏览器版本不同解决办法

2023-09-17 09:39| 来源: 网络整理| 查看: 265

“selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 97 Current browser version is 96.0.4664.45 with binary path C:\Program Files (x86)\Google\Chrome\Application\chrome.exe”

python使用selenium自动化操作浏览器时,报以上错误,即为“ChromeDriver”和浏览器版本不对应问题,解决办法有如下两种, 1.手动下载ChromeDriver并引用(chrome更新后需要重新下载对应版本的ChromeDriver)。 2.导入对应包,让程序自动去下载对应的ChromeDriver,此方法可以解决chrome自动更新后,需要手动下载ChromeDriver的步骤

一、手动下载对应版本的ChromeDriver,并进行引用

1.查看本机chrome浏览器版本

打开chrome浏览器,右上角三个点点里面找到设置 在这里插入图片描述 在这里插入图片描述查看版本:96.0.4664.45 2.去下载对应版本的ChromeDriver

链接地址:http://chromedriver.storage.googleapis.com/index.html 找到对应自己chrome浏览器版本的文件在这里插入图片描述 点击进入,下载对应自己操作系统的文件压缩包64位下载win32就可以在这里插入图片描述 3.解压下载好的安装包之后有两种方式可以让程序找到ChromeDriver驱动并使用它:分为3.1和3.2 3.1将文件夹中的.exe文件放在python文件夹下,该方法需要移动驱动程序文件位置,稍微麻烦一些,且后期更新ChromeDriver后还需要重复该步骤,不如3.2方便

压缩包在这里插入图片描述

解压后文件夹内只有一个.exe文件 在这里插入图片描述 将该.exe文件放在包含python.exe的python文件夹下 在这里插入图片描述 3.2 在代码中设置ChromeDriver的路径,就可以将ChromeDriver文件放在任意位置了 旧版selenium可以使用以下语句直接指定chromedriver.exe文件的位置

from selenium import webdriver driver = webdriver.Chrome(executable_path='D:\\python3.7.7\\chromedriver_win32\\chromedriver.exe') driver.get('https://www.baidu.com')

新版selenium废除了上述方式(可以使用但会报),可以使用以下方式,需要引入Service包

from selenium import webdriver from selenium.webdriver.chrome.service import Service service = Service(executable_path='D:\\python3.7.7\\chromedriver_win32\\chromedriver.exe') driver = webdriver.Chrome(service=service) driver.get('https://www.baidu.com')

经过3.1或3.2的设置后就可以正常运行代码了,不会再报版本不对应的错误

二、通过导入‘ChromeDriverManager’包,自动加载对应版本的"ChromeDriver"

第一种方式在chrome更新后需要重新手动下载对应版本的ChromeDriver,较为麻烦。如果使用导入ChromeDriverManager的方式可以让程序在运行前自动检查是否存在和chrome版本对应的ChromeDriver,不存在或版本不对应的情况下,程序会自动下载

接下来就是该方式的流程: 首先安装‘webdriver-manager’包

pip install webdriver-manager

在这里插入图片描述 然后就是导包了:

from selenium import webdriver from webdriver_manager.chrome import ChromeDriverManager driver = webdriver.Chrome(ChromeDriverManager().install()) driver.get('https://www.baidu.com')

运行上述代码后,如果你的电脑ChromeDriver版本不正确,会先下载对应版本,然后再打开浏览器 在这里插入图片描述 这里有文件的保存地址,会默认保存在‘[C:\Users\admin\.wdm\drivers\chromedriver\win32\100.0.4896.60]’,我没找到是否可以更换保存地址,~~~~~如果你知道的话,可以评论下,谢谢 以上设置之后就可以使用selenium自动化访问了 eg:

from selenium import webdriver chrome = webdriver.Chrome() 注释:若放在python文件夹内可以直接使用chrome = webdriver.Chrome(),若放在其他路径只需要将chromedriver.exe的路径放在括号里面chrome = webdriver.Chrome(‘D:\software\chromedriver.exe’)同样可以运行 chrome=webdriver.Chrome() url = “http://www.baidu.com” chrome.get(url) chrome.find_element_by_id(“kw”).send_keys(“python”) chrome.find_element_by_id(“su”).click() 该代码可以打开百度,输入python,并点击"百度一下"进行搜索



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3