谷歌浏览器Chrome与ChromeDriver版本不一致问题全解

在学习使用selenium模块爬取动态渲染信息时,selenium模块需要通过浏览器驱动来控制浏览器的操作。

我们安装教程安装浏览器(一般使用谷歌浏览器Chrome),下载浏览器驱动(谷歌浏览器驱动ChromeDriver

Google Chrome浏览器驱动下载地址[1]

IE浏览器驱动下载地址[2]

Firefox浏览器驱动下载地址[3]

这里需要根据已经安装的Google Chrome浏览器的版本,以及自己的电脑的系统安装浏览器驱动。

一顿操作猛如虎,开始使用百度网站做实验。结果懵逼了。。。

import time
from selenium import webdriver
browser=webdriver.Chrome()#会打开浏览器
browser.get('https://www.baidu.com/')
input=browser.find_element_by_id('kw')#找百度的输入框
print(input)
input.send_keys('python')
input=browser.find_element_by_id('su').click()#回车
time.sleep(10)
browser.close()#关闭浏览器

结果发现报错信息:SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 79

尝试一

既然浏览器与驱动不一致,那就解决驱动问题。

  • 点击Chrome->关于Google Chorme->Google Chrome 已是最新版本,版本 87.0.4280.88(正式版本) (x86_64)

  • 还可以打开chrome 输入"chrome://version/"来查看chrome版本

  • 进入谷歌浏览器驱动官网,找到对应版本的浏览器驱动,进行下载



继续测试,结果失败。

尝试二

难道驱动有问题?那么有网页到淘宝地址下载相同的驱动,解决问题了。那么我也尝试一番。 https://npm.taobao.org/mirrors/chromedriver 寻找对应版本的浏览器驱动。



继续测试,结果失败。

尝试三

不是驱动的问题,难道是谷歌浏览器问题。让我重新下载79版本的浏览器实属有些不甘心,因此有网友提出,关闭谷歌浏览器自动更新,防止浏览器版本与驱动版本不一致的情况。

但我这个情况应该不是自动更新问题。(若你很早之前用过浏览器驱动器,现在又重新启用,此时会因为浏览器自动更新,而驱动器没有更新,此时会导致二者版本不一致)

既然这是一种方法,就尝试下。

Mac

一种方法:打开终端,输入命令 defaults write com.google.Keystone.Agent checkInterval 0 ,重启chrome。

另一种方法:

首先关闭Chrome浏览器,然后进入目录"/Library/Google/GoogleSoftwareUpdate"。然后删除该目录下的GoogleSoftwareUpdate.bundle即可。

可以通过命令行删除,终端cd /Library/Google/GoogleSoftwareUpdate;或者Finder手动删除都可以。


Windows 10

首先是「右键计算机->管理」,在「计算机管理(本地)->系统工具->任务计划程序->任务计划程序库」中找到两个和Google自动更新相关的任务计划「GoogleUpdateTaskMachineCore」与「GoogleUpdateTaskMachineUA」,并把它俩禁用掉。(选中,右下「所选项->禁用」)

然后在下方的「服务和应用程序->服务」中,找到两个和Google更新相关的服务「Google更新服务(gupdate)」、「Google更新服务(gupdatem)」,并右键,选择属性,把启动类型改为禁用。



果然不出所料,此方法不能解决问题。

尝试四

使用浏览器驱动管理器模块自动识别并下载驱动。

# 安装webdriver-manager模块
pip install webdriver-manager
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(ChromeDriverManager().install())

下载完成后会自动弹出浏览器。



还是没有得到解决,不是每个人都跟我的情况一样,如果以上都得到解决,就不需要继续尝试了。若你跟我的情况一样,就就继续尝试。

尝试五

没办法,只能卸载最新版本的的谷歌浏览器,重新下载安装旧版本浏览器及对应的驱动。这也许selenium模块不能驱动高版本的浏览器及浏览器驱动。虽然我也尝试过将selenium模块升级。

既然他报错79版本,那么我们就下载79版。

附79版本下载地址

Google Chrome v79.0.3945.88 无更新功能版 64位

下载地址1[4]
下载地址2[5]
下载地址3[6]
下载地址4[7]
下载地址5[8]
下载地址6[9]

Google Chrome v79.0.3945.88 无更新功能版 32位

下载地址1[10]
下载地址2[11]
下载地址3[12]
下载地址4[13]
下载地址5[14]
下载地址6[15]

Google Chrome v79.0.3945.88 Mac版

下载地址1[16]
下载地址2[17]
下载地址3[18]
下载地址4[19]
下载地址5[20]
下载地址6[21]

再次尝试运行下段代码:

import time
from selenium import webdriver
browser=webdriver.Chrome()#会打开浏览器
browser.get('https://www.baidu.com/')
input=browser.find_element_by_id('kw')#找百度的输入框
print(input)
input.send_keys('python')
input=browser.find_element_by_id('su').click()#回车
time.sleep(10)
browser.close()#关闭浏览器

结果过程演示:

终于解决问题。虽然走了这么多弯路,但最终还是解决问题了,以上的思路及结果问题方法仅供参考。若你有更好的解决方案,可以联系笔者。

下载地址

[1] 

下载浏览器驱动: https://chromedriver.chromium.org/downloads

[2] 

IE浏览器驱动下载地址: http://selenium-release.storage.googleapis.com/index.html

[3] 

Firefox浏览器驱动下载地址: https://github.com/mozilla/geckodriver/releases/

[4] 

下载地址1: http://dl.google.com/release2/chrome/XASj0J0BUKotBRR0eLPLxw_79.0.3945.88/79.0.3945.88_chrome_installer.exe

[5] 

下载地址2: https://dl.google.com/release2/chrome/XASj0J0BUKotBRR0eLPLxw_79.0.3945.88/79.0.3945.88_chrome_installer.exe

[6] 

下载地址3: http://www.google.com/dl/release2/chrome/XASj0J0BUKotBRR0eLPLxw_79.0.3945.88/79.0.3945.88_chrome_installer.exe

[7] 

下载地址4: https://www.google.com/dl/release2/chrome/XASj0J0BUKotBRR0eLPLxw_79.0.3945.88/79.0.3945.88_chrome_installer.exe

[8] 

下载地址5: http://redirector.gvt1.com/edgedl/release2/chrome/XASj0J0BUKotBRR0eLPLxw_79.0.3945.88/79.0.3945.88_chrome_installer.exe

[9] 

下载地址6: https://redirector.gvt1.com/edgedl/release2/chrome/XASj0J0BUKotBRR0eLPLxw_79.0.3945.88/79.0.3945.88_chrome_installer.exe

[10] 

下载地址1: http://dl.google.com/release2/chrome/dD8pzpZ_oWXWx1BWp_sabg_79.0.3945.88/79.0.3945.88_chrome_installer.exe

[11] 

下载地址2: https://dl.google.com/release2/chrome/dD8pzpZ_oWXWx1BWp_sabg_79.0.3945.88/79.0.3945.88_chrome_installer.exe

[12] 

下载地址3: http://www.google.com/dl/release2/chrome/dD8pzpZ_oWXWx1BWp_sabg_79.0.3945.88/79.0.3945.88_chrome_installer.exe

[13] 

下载地址4: https://www.google.com/dl/release2/chrome/dD8pzpZ_oWXWx1BWp_sabg_79.0.3945.88/79.0.3945.88_chrome_installer.exe

[14] 

下载地址5: http://redirector.gvt1.com/edgedl/release2/chrome/dD8pzpZ_oWXWx1BWp_sabg_79.0.3945.88/79.0.3945.88_chrome_installer.exe

[15] 

下载地址6: https://redirector.gvt1.com/edgedl/release2/chrome/dD8pzpZ_oWXWx1BWp_sabg_79.0.3945.88/79.0.3945.88_chrome_installer.exe

[16] 

下载地址1: http://dl.google.com/release2/chrome/AJCyFu62M0EoxCbiiLUEJew_79.0.3945.88/GoogleChrome-79.0.3945.88.dmg

[17] 

下载地址2: https://dl.google.com/release2/chrome/AJCyFu62M0EoxCbiiLUEJew_79.0.3945.88/GoogleChrome-79.0.3945.88.dmg

[18] 

下载地址3: http://www.google.com/dl/release2/chrome/AJCyFu62M0EoxCbiiLUEJew_79.0.3945.88/GoogleChrome-79.0.3945.88.dmg

[19] 

下载地址4: https://www.google.com/dl/release2/chrome/AJCyFu62M0EoxCbiiLUEJew_79.0.3945.88/GoogleChrome-79.0.3945.88.dmg

[20] 

下载地址5: http://redirector.gvt1.com/edgedl/release2/chrome/AJCyFu62M0EoxCbiiLUEJew_79.0.3945.88/GoogleChrome-79.0.3945.88.dmg

[21] 

下载地址6: https://redirector.gvt1.com/edgedl/release2/chrome/AJCyFu62M0EoxCbiiLUEJew_79.0.3945.88/GoogleChrome-79.0.3945.88.dmg

-- 数据STUDIO -- 

  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值