欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 艺术 > 【Python】谷歌浏览器总是自动更新,使用selenium跟chromedriver版本不匹配怎么办?

【Python】谷歌浏览器总是自动更新,使用selenium跟chromedriver版本不匹配怎么办?

2024/11/30 13:29:52 来源:https://blog.csdn.net/Meggie35/article/details/142146841  浏览:    关键词:【Python】谷歌浏览器总是自动更新,使用selenium跟chromedriver版本不匹配怎么办?

我发现,我的电脑对谷歌浏览器的禁止自动更新无效,哪怕是在任务计划程序里,禁止谷歌浏览器更新,也没有用。而且有时候点开右上角的三个点,也会自动更新版本。

但是往往chromedriver的更新版本更不上浏览器的版本哇,更不用说访问chromedriver 的网站总会遇到这个问题:
在这里插入图片描述

所以用selenium驱动的时候,就会出现下面的问题:

SessionNotCreatedException: session not created: This version of chromeDriver only supports chrome version 112version is 122.0.6261.70 with binary path c:\Program Files\Google\chrome \Applicatpa……

在这里插入图片描述

遇到上面的问题是因为,谷歌浏览器设立了自动更新,然而,我们的chromedriver版本与浏览器的版本不适应,无法启动……

遇到谷歌浏览器更新后,selenium的执行出现问题怎么办?

下载历史浏览器和驱动器

我的解决方法是保留了原来的谷歌浏览器,以及相对应的chromedriver版本,并且固定使用原来的谷歌浏览器就可以了,这样就不用担心浏览器自动更新的问题了。

如果没有保存原来的谷歌浏览器的版本的话,可以在这个网址这里下载历史浏览器版本:网址
在这里插入图片描述找到这个,下载下来:
在这里插入图片描述然后在chromedriver 的网站下载对应的版本,网址

在这里插入图片描述(找到跟谷歌浏览器同一版本的驱动器)

在这里插入图片描述
(驱动器很长一段时间都维持在114的版本就不再更新了,嘤嘤嘤~)

如果无法下载的话,可以在我上传的资源地方,下载我常用的【历史谷歌浏览器】和chromedriver ~

详细链接:历史谷歌浏览器和对应的chromedriver文件,防谷歌浏览器自动更新影响selenium运行

不过这样一来,也会有新的问题:新的版本的谷歌浏览器和旧版本的谷歌浏览器会有使用冲突,一般程序会自动调用原来的浏览器(也就是会自动更新的那个)

所以就要加上指定使用哪个路径下的chrome浏览器了,代码:options.binary_location=+chrome的路径

全部代码:

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Optionsoptions = Options()
options.add_argument('--verbose')#指定调用哪个路径下的谷歌浏览器
options.binary_location=r'C:\Program Files (x86)\Google\chrome.exe'chromedriver_path = r"D://anaconda//chromedriver.exe"  
service = Service(executable_path=chromedriver_path)
#service.log_path = '/path/to/chromedriver.log'driver = webdriver.Chrome(service=service, options=options)
driver.get('http://www.baidu.com')

于是就执行完成啦!
在这里插入图片描述

自动下载当前浏览器对应驱动

或者使用ChromeDriverManager()的方法,自动下载当前浏览器对应驱动的方法,实测好用!
(缺点是运行起来的时候会受网络影响,网页打开得比较慢)

from selenium.webdriver.chrome.service import Service as ChromeService
from webdriver_manager.chrome import ChromeDriverManager
service = ChromeService(ChromeDriverManager().install())  # 自动下载当前浏览器对应驱动
driver = webdriver.Chrome(service=service)

在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com