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

Chrome升级至109版本后Selenium无法创建新会话问题求助

问题分析与解决方案

你的测试无法运行的核心原因是代码配置顺序错误,且混用了手动指定ChromeDriver路径和WebDriverManager,和ChromeDriver版本稳定性无关。

问题点拆解

  1. 你先手动通过System.setProperty指定了ChromeDriver路径,直接创建ChromeDriver实例后,才调用WebDriverManager.chromedriver().setup()——此时WebDriverManager的配置完全没生效,手动指定的路径可能和当前Chrome版本不匹配(哪怕你下载了最新驱动,顺序错误也会引发冲突)。
  2. WebDriverManager的作用就是自动匹配Chrome版本并管理驱动,手动设置路径会和它的自动管理逻辑冲突。

修复步骤

1. 调整代码结构

移除手动的System.setProperty配置,先初始化WebDriverManager,再创建ChromeDriver实例:

public WebDriver driver;    

@BeforeMethod
public void popUp(){
    // 先让WebDriverManager自动匹配并配置ChromeDriver
    WebDriverManager.chromedriver().setup();
    // 创建ChromeDriver实例
    driver = new ChromeDriver();
    // 最大化窗口
    driver.manage().window().maximize();
}

2. 确认依赖正确性

如果你用Maven,确保webdrivermanager依赖已正确引入(版本建议和Selenium版本适配,比如对应Selenium 4.7.2可使用WebDriverManager 5.3.0+):

<dependency>
    <groupId>io.github.bonigarcia</groupId>
    <artifactId>webdrivermanager</artifactId>
    <version>5.3.3</version>
    <scope>test</scope>
</dependency>

3. 关于log4j警告

报错里的log4j警告是次要问题,不会导致测试失败。若要消除警告,可在项目资源目录添加log4j.properties配置文件,示例内容:

log4j.rootLogger=INFO, console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

额外验证

如果修复后仍有问题,可通过以下方式确认版本匹配:

  • 打开Chrome,在地址栏输入chrome://version查看Chrome版本号
  • 确认WebDriverManager自动下载的ChromeDriver版本和Chrome主版本号完全一致(比如Chrome 109.x对应ChromeDriver 109.x)

内容的提问来源于stack exchange,提问作者user377810

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 04:21:47