Chrome更新至92版本后Selenium测试用例运行失败问题咨询
问题根因分析
Chrome 92版本对Selenium的参数校验规则做了多处升级,结合报错栈信息,触发异常的核心场景如下:
driver.get()方法传入的URL不符合规范,Chrome92不再兼容无协议头的地址写法- 配置的ChromeOptions存在过时废弃的非法参数,被新版本安全校验拦截
- 低版本Bonigarcia WebDriverManager对Chrome92的驱动匹配存在适配缺陷
- Selenium 3.141.59对Chrome92的部分新特性兼容度不足
可行解决方案
- 优先排查
BaseAPI.java第49行driver.get()传入的URL,必须补充完整协议头,比如将www.baidu.com改为https://www.baidu.com,这是Chrome92版本最常见的触发原因 - 清理ChromeOptions中的废弃参数,新增适配新版本的规避配置:
ChromeOptions options = new ChromeOptions(); options.addArguments("--no-sandbox"); options.addArguments("--disable-dev-shm-usage"); options.addArguments("--remote-allow-origins=*"); // 若使用无头模式需改为新版写法 // options.addArguments("--headless=new");
- 升级Bonigarcia WebDriverManager依赖到5.0+版本,确保驱动匹配完全适配Chrome92:
<dependency> <groupId>io.github.bonigarcia</groupId> <artifactId>webdrivermanager</artifactId> <version>5.5.3</version> </dependency>
升级后重新调用WebDriverManager.chromedriver().setup()拉取匹配的驱动文件
- 若以上方案未生效,可将Selenium版本升级到4.1+,或临时降级Chrome到91版本运行测试
内容的提问来源于stack exchange,提问作者lamiaAzar
相关产品推荐
相关产品推荐

