解决使用Selenium时ChromeDriver版本不匹配问题

在学习Python爬虫过程中如果使用Selenium的时候遇到报错如下session not created: This version of ChromeDriver only supports Chrome version 99... 这说明当前你的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。需要最新版的谷歌驱动安装。

所以要正确安装ChromeDriver版本, 适配自己的chrome浏览器

文章目录

为什么出现这个问题?

每个ChromeDriver都会对应一个版本的Chrome浏览器, 所以浏览器升级后原来的Chrome就不对应了, 这样就导致出现了不兼容的问题

查看Chrome版本

打开 Chrome 浏览器, 在地址栏输入chrome://version/,然后按回车。页面会显示浏览器的详细信息,包括版本号。

下载对应版本ChromeDriver

官方地址(貌似只能下载最新版):https://googlechromelabs.github.io/chrome-for-testing/

这个可以下载以往的版本: http://chromedriver.storage.googleapis.com/index.html (64位的windows系统下载win32就可以)

ChromeDriver官方解释(如下图): https://developer.chrome.com/docs/chromedriver/downloads?hl=zh-cn

安装ChromeDriver

下载好对应的文件后, 会获得一个压缩包, 将这个压缩包解压, 看到里面的exe文件

安装到Python路径下

将这个文件复制到Python安装目录下的Scripts文件夹中

如何找到自己的安装目录?

使用快捷键[win+R], 输入cmd, 按回车, 在命令行窗口中输入 where python即可看到自己的python安装目录

如果是macOS, 则将解压得到的Chromedriver文件夹放在/usr/bin目录下

安装到其他位置

如果将ChromeDriver安装到其他路径下, 则需要在代码中通过参数executable_path 指定"chromederiver.exe"文件的路径

在代码中设置ChromeDriver的路径,就可以将ChromeDriver文件放在任意位置了

旧版selenium可以使用以下语句直接指定chromedriver.exe文件的位置

python 复制代码
from selenium import webdriver

driver = webdriver.Chrome(executable_path='D:\\python3.7.7\\chromedriver_win32\\chromedriver.exe')
# driver = webdriver.Chrome(executable_path=r'C:\Users\chromedriver.exe')  路径字符串前的r的作用是取消路径中的"\"可能存在的特殊含义
driver.get('https://www.baidu.com')

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

python 复制代码
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')

验证安装

python 复制代码
from selenium import webdriver
browser = webdriver.Chrome()
browser.get('https://www.baidu.com')

运行这三行代码, 可以看到Python打开一个模拟浏览器, 证明安装成功了

其他浏览器驱动

除了 Chrome 浏览器外,Selenium 还支持其他主流浏览器的自动化操作,如 Firefox 和 IE。以下是它们对应驱动的获取方法:

1.Firefox 浏览器驱动(GeckoDriver)

2.IE 浏览器驱动

拓展学习

如果要学习自动加载对应版本的ChromeDriver可以参考教程: https://blog.csdn.net/IT_lw/article/details/121658468

参考(侵删):

https://blog.csdn.net/IT_lw/article/details/121658468

https://blog.csdn.net/stormjun/article/details/144884034

相关推荐
龙潜月七2 小时前
Selenium 自动化测试中跳过机器人验证的完整指南:能用
python·selenium·机器人
AIZHINAN2 小时前
如何评价 selenium 自动化测试框架搭建?
selenium·测试工具
WIN赢9 天前
PostMan使用
测试工具·lua·postman
百里图书11 天前
颠覆传统接口测试!用 Streamlit + SQLite + GPT 打造可视化自动化平台
自动化测试·测试开发·接口自动化测试·测试工具·接口测试·测试平台·python编程
笑口常开的小丸子11 天前
Selenium等待机制详解:从原理到实战应用
selenium
网络安全小吗喽11 天前
靶场(二十六)---小白心得&&靶场体会---Readys
服务器·网络·测试工具·网络安全·靶机
天才测试猿11 天前
2025最新软件测试面试题总结【附文档】
自动化测试·软件测试·python·测试工具·面试·职场和发展·测试用例
网络安全小吗喽11 天前
靶场(二十七)---小白心得&&靶场体会---Hawat
网络·测试工具·安全·网络安全·靶场
NLxxxxX11 天前
爬虫获取数据:selenium的应用
开发语言·爬虫·python·selenium·测试工具·numpy·pandas
狂师11 天前
推荐一款全栈工具导航网站!超实用~
测试工具·工具