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

news/2025/2/3 2:15:04/

在学习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浏览器

文章目录

  • 为什么出现这个问题?
  • 查看Chrome版本
  • 下载对应版本ChromeDriver
  • 安装ChromeDriver
    • 安装到Python路径下
    • 安装到其他位置
  • 验证安装
  • 其他浏览器驱动
  • 拓展学习

为什么出现这个问题?

每个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文件的位置

from selenium import webdriverdriver = 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包

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

验证安装

from selenium import webdriver
browser = webdriver.Chrome()
browser.get('https://www.baidu.com')

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

其他浏览器驱动

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

1.Firefox 浏览器驱动(GeckoDriver)

  • 下载地址:https://github.com/mozilla/geckodriver/releases/
  • 下载与系统匹配的文件后,按照与 ChromeDriver 类似的方式解压使用

2.IE 浏览器驱动

  • 下载地址:http://selenium-release.storage.googleapis.com/index.html
  • 注意:由于 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


http://www.ppmy.cn/news/1568839.html

相关文章

基于RFID的门禁系统的设计(论文+源码)

1系统方案设计 通过需求分析,基于RFID的门禁系统总体设计框图。系统采用STM32单片机作为系统主控核心,利用独立按键与RFID识别模块能够实现门禁系统密码与IC卡开门功能。WiFi模块实现系统与手机APP的通信,用户可以通过手机APP进行门禁开关操作…

G. XOUR

题目链接&#xff1a;Problem - G - Codeforces 题目大意&#xff1a;给你一个n长的序列&#xff0c; 其中你可以将a[i] XOR a[j] 的值 严格小于4的数对进行交换。 你可以操作任何几次&#xff0c; 让最后的数列最小。如果在 x 和 y 不同的第一个位置&#xff0c; xi<yi &…

【景区导游——LCA】

题目 代码 #include <bits/stdc.h> using namespace std; using ll long long; const int N 1e5 10; const int M 2 * N; int p[N][18], d[N], a[N]; ll dis[N][18]; //注意这里要开long long int h[N], e[M], ne[M], idx, w[M]; int n, k; void add(int a, int b, …

PCA9685 一款由 NXP Semiconductors 生产的 16 通道、12 位 PWM(脉宽调制)控制器芯片

PCA9685 是一款由 NXP Semiconductors 生产的 16 通道、12 位 PWM&#xff08;脉宽调制&#xff09;控制器芯片&#xff0c;广泛应用于 LED 调光、电机控制、伺服控制等领域。以下是关于 PCA9685 的一些关键特性和应用信息&#xff1a; 主要特性 16 通道 PWM 输出&#xff1a;…

缩位求和——蓝桥杯

1.题目描述 在电子计算机普及以前&#xff0c;人们经常用一个粗略的方法来验算四则运算是否正确。 比如&#xff1a;248153720248153720 把乘数和被乘数分别逐位求和&#xff0c;如果是多位数再逐位求和&#xff0c;直到是 1 位数&#xff0c;得 24814>145 156 56 而…

AI-ISP论文Learning to See in the Dark解读

论文地址&#xff1a;Learning to See in the Dark 图1. 利用卷积网络进行极微光成像。黑暗的室内环境。相机处的照度小于0.1勒克斯。索尼α7S II传感器曝光时间为1/30秒。(a) 相机在ISO 8000下拍摄的图像。(b) 相机在ISO 409600下拍摄的图像。该图像存在噪点和色彩偏差。©…

AI协助探索AI新构型的自动化创新概念

训练AI自生成输出模块化代码&#xff0c;生成元代码级别的AI功能单元代码&#xff0c;然后再由AI组织为另一个AI&#xff0c;实现AI开发AI的能力&#xff1b;用AI协助探索迭代新构型AI将会出现&#xff0c;并成为一种新的技术路线潮流。 有限结点&#xff0c;无限的连接形式&a…

图片导入到ppt之后再打印就糊掉了如何解决?

最近在做一个 p o s t e r poster poster的工作是用 P P T PPT PPT做的&#xff0c;结果从 v i s i o visio visio导入到 P P T PPT PPT中还是高清的&#xff0c;打印就糊掉了&#xff0c;注意如果是导出的话图片还是矢量的&#xff0c;但是由于有纸张的要求&#xff0c;所以必…