python爬虫报错:This version of ChromeDriver only supports Chrome version 114

文章讲述了在使用Selenium爬取网页时遇到的SessionNotCreatedException,原因是ChromeDriver版本与浏览器版本不兼容。作者推荐使用WebDriverManager库自动化管理浏览器驱动,包括下载、设置和维护,以解决此问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用selenium爬取网页数据,一运行程序就报错:

selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 114
Current browser version is 117.0.5938.149 with binary path C:\Program Files\Google\Chrome\Application\chrome.exe

就很奇怪,之前都是没问题的,今天就不行了,查了网上的资料说是浏览器升级了,跟selenium的浏览器驱动不一致造成的,解决办法就是:

1)换浏览器版本;

2)换浏览器驱动版本;

第一种感觉不靠谱,后面浏览器自动升级了还得出现这个问题;所以就用第二种,参考网上的说法,去CNPM Binaries Mirror这里下载浏览器对应的驱动,可是我的浏览器是117版本的,这里面根本找不到

要正确解决这个问题,一个好方法是使用WebDriverManager库。它是一个开源的Java库,以完全自动化的方式执行Selenium Web

Traceback (most recent call last): File "C:\Users\Administrator\Desktop\PY日志\test.py", line 7, in <module> driver = webdriver.Chrome(service=service,options=options) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\Administrator\Desktop\pythonProject\.venv\Lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 45, in __init__ super().__init__( File "C:\Users\Administrator\Desktop\pythonProject\.venv\Lib\site-packages\selenium\webdriver\chromium\webdriver.py", line 66, in __init__ super().__init__(command_executor=executor, options=options) File "C:\Users\Administrator\Desktop\pythonProject\.venv\Lib\site-packages\selenium\webdriver\remote\webdriver.py", line 250, in __init__ self.start_session(capabilities) File "C:\Users\Administrator\Desktop\pythonProject\.venv\Lib\site-packages\selenium\webdriver\remote\webdriver.py", line 342, in start_session response = self.execute(Command.NEW_SESSION, caps)["value"] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\Administrator\Desktop\pythonProject\.venv\Lib\site-packages\selenium\webdriver\remote\webdriver.py", line 429, in execute self.error_handler.check_response(response) File "C:\Users\Administrator\Desktop\pythonProject\.venv\Lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 232, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 108 Current browser version is 14.1.1278.0 with binary path C:\Users\Administrator\AppData\Roaming\360se6\Application\360se.exe Stacktrace: Backtrace: (No symbol) [0x0068F243] (No symbol) [0x00617FD1] (No symbol) [0x0050D04D] (No symbol) [0x0052F6B4] (No symbol) [0x0052A97C] (No symbol) [0x005282E9] (No symbol) [0x0055F056] (No symbol) [0x0055EB2A] (No symbol) [0x00558386] (No symbol) [0x0053163C] (No symbol)
最新发布
03-12
<think>好的,用户遇到了Selenium启动Chrome时出现的SessionNotCreatedException错误,提示ChromeDriver版本与浏览器不匹配。我需要先理解这个问题的根本原因。根据引用内容,这个错误通常是因为ChromeDriverChrome浏览器的版本不一致导致的。比如,用户提到的ChromeDriver支持108版本,但当前浏览器是14.1.1278.0,这可能与360安全浏览器有关,因为它可能使用Chrome内核但版本号不同。 首先,应该确认用户的实际浏览器版本。用户提到的版本号14.1.1278.0看起来不像官方的Chrome版本,可能使用的是基于Chromium的浏览器,如360安全浏览器。这时候,用户需要确定该浏览器对应的Chromium版本号,然后下载匹配的ChromeDriver。 接下来,解决方法包括检查浏览器版本、下载对应驱动、或者使用自动化工具管理版本。另外,用户可能不知道如何正确配置路径或环境变量,需要详细指导。同时,如果用户使用的是非Chrome浏览器,可能需要其他驱动,但根据引用中的信息,用户可能还是在使用ChromeDriver,所以需要特别处理。 还要考虑用户可能的操作步骤是否正确,比如是否将驱动放在了正确的位置,或者是否在代码中指定了正确的路径。此外,可能还需要提醒用户更新浏览器或降级驱动,但更推荐保持两者版本一致。 另外,引用中提到使用selenium控制浏览器读取iframe的内容,所以用户可能在爬虫项目中遇到这个问题,需要快速解决以继续工作。因此,回答需要清晰、步骤明确,避免用户进一步困惑。 最后,生成相关问题需要考虑用户可能的后续疑问,比如如何自动管理驱动版本,或者遇到其他浏览器时的解决方法,以及如何验证版本匹配等。确保覆盖用户可能的需求,帮助他们彻底解决问题。</think>### 解决方案:SessionNotCreatedException ChromeDriver版本不匹配问题 该错误表明ChromeDriverChrome浏览器版本不兼容,以下是具体解决步骤: #### 1. **确认浏览器实际版本** - 打开浏览器地址栏输入:`chrome://version/`,查看"Google Chrome"后的版本号(例如:121.0.6167.85)[^3][^4]。 - 注意:若使用360浏览器等基于Chromium的浏览器,需查看其内核版本而非浏览器自身版本号。 #### 2. **获取匹配的ChromeDriver** - **官方渠道**:访问[ChromeDriver下载页](https://chromedriver.chromium.org/downloads),根据浏览器版本选择对应驱动版本(要求前三位数字完全一致)[^1]。 - **示例**:若浏览器版本为`108.0.5359.125`,则需下载`108.0.5359.x`系列驱动。 #### 3. **配置驱动路径** ```python from selenium import webdriver options = webdriver.ChromeOptions() options.binary_location = "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe" # 显式指定浏览器路径[^1] driver = webdriver.Chrome(executable_path="D:\\chromedriver.exe", options=options) # 指定驱动路径 ``` #### 4. **特殊情况处理(360浏览器)** - 360浏览器版本号`14.1.1278.0`实际对应Chromium内核版本,需通过`chrome://version/`查询真实内核版本(如114.0.5735.134)。 - 若内核版本过低(如低于ChromeDriver支持范围),建议升级浏览器或使用官方Chrome[^2]。 #### 5. **自动化版本管理(推荐)** 使用`webdriver-manager`包自动管理驱动版本: ```python from selenium import webdriver from webdriver_manager.chrome import ChromeDriverManager driver = webdriver.Chrome(ChromeDriverManager().install()) ``` ### 根本原因分析 ChromeDriverChrome浏览器通过`DevTools`协议通信,每个ChromeDriver版本仅支持特定范围的浏览器版本。版本号前三位不一致会导致协议不兼容[^3]。 ### 附加建议 - 关闭浏览器自动更新功能(企业环境常用) - 开发环境使用Docker固定浏览器版本 - 定期检查版本匹配性(尤其CI/CD流水线)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码道功成

过程不易,恳请支持一下!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值