本文提供在企业环境中因 chrome 浏览器与 chromedriver 版本不一致(如 chrome 121.0.6167.185 与 driver 121.0.6167.85)导致 selenium 启动失败时,无需降级浏览器、绕过 webdriver manager 且兼容代理限制的稳定应对策略。
当 Chrome 浏览器更新至最新稳定版(如 121.0.6167.185),而官方 ChromeDriver 最新版仅支持到 121.0.6167.85 时,Selenium 往往会抛出 session not created: This version of ChromeDriver only supports Chrome version XXX 类错误。在企业环境中,该问题尤为棘手:Chrome 由 IT 部门统一推送不可降级;内部网络强制代理导致 webdriver-manager 或 chromedriver-autoinstaller 等自动工具无法下载匹配驱动;甚至 Edge/Firefox 也出现类似兼容性报错——说明问题本质并非单一驱动缺失,而是浏览器新特性与旧版驱动协议层不兼容。
此时,一个被长期验证有效的轻量级规避方案是启用 Chrome 的 Headless 模式(无头模式),配合关键安全与沙箱参数,显著提升驱动对小版本差异的容忍度。其原理在于:Headless 模式跳过了图形渲染管线和部分 UI 相关的初始化检查,降低了驱动与浏览器内核间协议握手的严格性,从而在 minor version(如 .185 vs .85)不完全一致时仍可建立会话。
以下为推荐配置代码(适配 Selenium 4.10+,已弃用 executable_path 参数,改用 Service 对象):