在 Python 的 Selenium 自动化测试中,ChromeDriver
是不可或缺的工具。它作为代码与 Chrome 浏览器的桥梁,但如果版本不匹配,就会导致各种报错,尤其是以下常见问题:
selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 92
Current browser version is 103.0.5060.66 with binary path C:\Users\测试\AppData\Local\Google\Chrome\Application\chrome.exe
看到这样的报错,往往会让人抓狂。这次,我将带你一步步解决 Selenium
驱动版本不匹配的问题,帮你排除障碍、顺利运行代码!
Chrome 浏览器(谷歌浏览器)下载安装教程,附详细图文(建议收藏)
Chrome 浏览器(谷歌浏览器)下载安装教程,附详细图文(建议收藏)
为什么会发生版本不匹配?
每个版本的 ChromeDriver
都专门对应一个特定版本的 Chrome 浏览器。浏览器版本升级后,如果没有更新驱动,就会因版本不兼容而无法正常启动。解决方案非常简单:确保浏览器与驱动版本匹配。
from selenium import webdriver
driver = webdriver.Chrome(executable_path="C:/path/to/chromedriver.exe")
下面我将详细讲解从浏览器版本检查到下载安装正确驱动的完整过程。
解决方案一览
按照以下步骤操作,你的测试环境就可以顺利运行了:
- 查看 Chrome 浏览器版本
- 下载对应版本的 ChromeDriver
- 配置驱动路径(包括直接指定chromeDriver路径或添加到环境变量)
- 验证驱动是否正确安装
一、查看 Chrome 浏览器版本
在安装 ChromeDriver
前,一定要知道当前浏览器的版本号,因为驱动的版本选择完全依赖浏览器版本。
方法:
- 打开 Chrome 浏览器。
- 在地址栏输入
chrome://version/
,然后按回车。 - 页面会显示浏览器的详细信息,包括版本号。
示例:
从上图可以看到,浏览器版本号为 79.0.3945.88
,所以我们需要下载 ChromeDriver 79.x
。
二、下载对应的 ChromeDriver
获取正确版本的驱动是关键一步。
推荐下载地址:
- 国内网盘:https://pan.quark.cn/s/e9e6bb564337
- 官方地址:https://googlechromelabs.github.io/chrome-for-testing/
国内网盘下载速度更快,官方地址则更加稳定。打开链接后,找到与你的浏览器版本号相匹配的驱动。
示例:
- 点击版本号链接,进入下载页面。
- 根据操作系统选择对应的文件(如 Windows 下载
.zip
格式的压缩包)。
三、解压并配置 ChromeDriver
下载完成后,解压文件,你会看到一个 chromedriver.exe
文件。接下来,我们需要让 Selenium 能够找到这个文件。
配置方法:
方法 1:在代码中直接指定驱动路径
如果你不想修改环境变量,可以直接在代码中指定驱动的绝对路径:
from selenium import webdriver
driver = webdriver.Chrome(executable_path="C:/path/to/chromedriver.exe")
方法 2:配置环境变量
将 chromedriver.exe
的路径添加到系统环境变量中,让系统可以全局访问:
-
Windows:
- 打开系统设置,搜索“环境变量”。
- 在系统变量中找到
Path
,点击“编辑”。 - 添加
chromedriver.exe
的完整路径。
-
Mac/Linux:
将文件移动到全局路径,例如/usr/local/bin
:sudo mv chromedriver /usr/local/bin
完成配置后,可以直接运行 chromedriver
命令来验证是否成功。
四、验证 ChromeDriver 安装是否正确
安装完成后,验证是确保配置无误的关键步骤。你可以通过以下方法检查:
方法:
- 打开终端或命令行,输入以下命令:
chromedriver --version
- 如果显示类似以下信息,则表示安装成功:
ChromeDriver 79.0.3945.36
五、解决其他浏览器驱动问题
除了 Chrome,Selenium 也支持其他浏览器,如 Firefox 和 Edge。如果你需要操作其他浏览器,同样需要下载相应的驱动。
1. Firefox 浏览器驱动:GeckoDriver
- 下载地址:https://github.com/mozilla/geckodriver/releases/
- 安装方式与
ChromeDriver
类似。
2. Edge 浏览器驱动
- 下载地址:https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
- 配置方式相同。
六、常见问题与解决方案
1. 驱动版本不匹配
- 原因:浏览器版本与驱动版本不一致。
- 解决方案:重新检查浏览器版本号并下载匹配的驱动。
2. 配置环境变量后仍无法识别
- 原因:环境变量配置错误或路径拼写问题。
- 解决方案:使用代码指定路径或重新检查配置。
3. 升级浏览器导致驱动失效
- 原因:浏览器版本升级后,旧驱动不再适配。
- 解决方案:定期更新
ChromeDriver
,与浏览器保持同步。
七、总结与实用技巧
-
定期更新浏览器与驱动
浏览器和驱动会不断更新,建议养成同步检查和更新的习惯。 -
保存常用链接
国内网盘与官方地址都值得收藏,以备不时之需。 -
优先尝试国内下载源
在国内环境中,访问官方地址可能较慢,优先选择国内资源更高效。
通过本文的讲解,你应该已经掌握了解决 Selenium ChromeDriver
不匹配问题的全流程。如果有帮助,别忘了分享给更多朋友,解决他们的烦恼!