You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ChromeDriver启动报错:'firstMatch'需至少含一个条目求助

关于ChromeDriver报错invalid argument: 'firstMatch' must contain at least one entry的解决方案

这个报错我之前帮同事排查过,本质是ChromeDriver、Selenium版本和Python环境的兼容性不匹配导致的,下面给你拆解清楚:

报错含义

invalid argument: 'firstMatch' must contain at least one entry 这个错误是ChromeDriver和Selenium之间的WebDriver通信协议不兼容引发的。你用的ChromeDriver 79.x已经默认启用了W3C标准的WebDriver协议,但如果你的Selenium版本比较旧,对这个新协议的参数处理逻辑不完善,在协商会话配置时就会无法正确识别firstMatch这个字段,进而抛出这个错误。

你之前用旧版ChromeDriver没问题,是因为旧版Driver默认采用的是传统的JSON Wire协议,和你当时的Selenium版本完全适配,自然不会有协议冲突。

解决办法

1. 升级Selenium到兼容版本

ChromeDriver 79.x对应的Selenium最低兼容版本是3.141.0,直接执行升级命令即可:

pip3 install --upgrade selenium

(如果你的环境默认用pip指向Python3,也可以直接用pip)

2. 临时禁用W3C模式(不推荐长期使用)

如果暂时没法升级Selenium,可以在初始化Chrome时添加参数强制关闭W3C模式,退回到旧协议:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

chrome_options = Options()
# 关闭W3C模式
chrome_options.add_experimental_option('w3c', False)
driver = webdriver.Chrome(r'path/to/file', options=chrome_options)

3. 确认Chrome浏览器和Driver版本完全匹配

还要检查你的Chrome浏览器版本是不是和ChromeDriver 79.0.3945.16完全一致,版本号必须前三位完全相同(比如Chrome浏览器也是79.0.3945.x),版本不匹配也可能触发各种协议相关的奇怪错误。

内容的提问来源于stack exchange,提问作者mr. bot

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:31:37