Chrome升级至92版本驱动匹配仍抛出SessionNotCreatedException异常
Chrome 92版本Selenium No matching capabilities问题解决方案
必须新增/调整的capabilities配置
Chrome 92开始全面强制适配W3C WebDriver标准,旧版本无标准前缀的配置项会被直接忽略,需要做以下调整:
- 用W3C标准前缀的
goog:chromeOptions替代旧版本无前缀的chromeOptions配置,所有Chrome专属参数都需要放到该配置项下 - 显式添加
browserVersion配置,值与你当前使用的Chrome版本(92.0.4515.107)完全对齐 - 无GUI Linux环境下必须在
goog:chromeOptions的args数组中添加3个启动参数:--no-sandbox、--disable-dev-shm-usage、--headless=new,Chrome 92开始不再兼容旧版无参数的--headless配置 - 所有非标准的自定义配置项都需要添加
goog:前缀,比如用goog:loggingPrefs替代旧的loggingPrefs配置
Python代码示例
from selenium import webdriver from selenium.webdriver.chrome.options import Options # 初始化Chrome参数 chrome_options = Options() chrome_options.add_argument("--no-sandbox") chrome_options.add_argument("--disable-dev-shm-usage") chrome_options.add_argument("--headless=new") # 组装符合W3C标准的capabilities capabilities = { "browserName": "chrome", "browserVersion": "92.0.4515.107", "goog:chromeOptions": chrome_options.to_capabilities()["goog:chromeOptions"] } # 初始化驱动 driver = webdriver.Chrome( executable_path="/path/to/your/chromedriver", desired_capabilities=capabilities )
额外校验项
如果调整配置后仍然报错,先执行以下两个命令确认版本完全匹配:
chromedriver --version输出的版本号需要和Chrome版本的前三位段完全一致google-chrome --version确认安装的Chrome版本确实为92.0.4515.107
内容的提问来源于stack exchange,提问作者Deepak
相关产品推荐
相关产品推荐

