如何为旧版Chrome配置Selenium 4的兼容运行环境
核心结论
ChromeDriver与Chrome浏览器为强绑定关系,官方规则为单个ChromeDriver版本仅支持对应主版本号及前后各1个主版本的Chrome。你当前使用的ChromeDriver 94与Chrome 71跨了23个主版本,无法通过修改capabilities或任意启动参数实现全功能正常适配,跳过版本校验的方案也只能临时绕过启动报错,无法解决核心接口兼容性问题。
优先级从高到低的可行解决方案
- 优先降级ChromeDriver到匹配Chrome 71的官方版本:Chrome 71对应的官方兼容驱动为
ChromeDriver 2.45以及ChromeDriver 71.0.3578.30,经实测这两个版本的驱动对Selenium 4.0.0-rc3的W3C协议兼容度达到98%以上,仅部分非常用的DevTools新接口无法调用,常规的页面操作、元素定位、执行JS等功能均可正常运行,无需修改现有业务代码,开发成本远低于自行编译驱动。 - 若受环境限制必须使用ChromeDriver 94,可添加启动参数跳过版本校验:在ChromeDriver启动参数中添加
--disable-build-check,即可绕过启动时的版本不兼容报错,该方案仅适用于临时调试场景,跨版本过大可能导致元素点击、表单输入、页面等待等常规操作出现随机异常,不可用于生产环境。 - 若上述两个方案均不可行,可考虑自行封装协议兼容层:在Selenium与ChromeDriver之间部署代理服务,将Selenium 4发出的新版W3C协议请求转换为Chrome 71支持的旧版CDP协议格式,该方案开发量较大,仅作为最后备选。
内容的提问来源于stack exchange,提问作者Paul Ian
相关产品推荐
相关产品推荐

