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

Selenium中WebDriverManager.chromedriver().setup()方法未定义问题求助

解决WebDriverManager中setup()方法未定义的问题

问题原因

这个报错是因为你使用的WebDriverManager 5.x及以上版本已经废弃了setup()方法。旧版本(4.x及以下)中WebDriverManager.chromedriver()返回的是支持setup()方法的实例,但新版本重构了API,移除了该方法,导致调用时提示方法未定义。

解决方案

你有两种处理方式:

方式1:适配WebDriverManager 5.x+版本(推荐)

直接移除setup()调用,使用新版本的API来获取驱动。新版本会自动完成驱动的下载、配置环境变量等操作,无需手动调用setup()。

修改后的代码:

package org.h2k.openmrs.tests;

import org.openqa.selenium.WebDriver;
import org.testng.annotations.BeforeClass;

import io.github.bonigarcia.wdm.WebDriverManager;

public class BaseClassExample {
    
    protected WebDriver driver;
    @BeforeClass
    public void instantiateDriver() 
    {
        // 直接通过create()方法获取已配置好的ChromeDriver实例
        driver = WebDriverManager.chromedriver().create();
        driver.get("https://demo.openmrs.org/openmrs/login.htm");
        String title = driver.getTitle();
        System.out.println("Title of the page:::" + title);
    }
}

也可以保留new ChromeDriver()的写法,新版本WebDriverManager会自动检测并配置驱动:

// 替代上面的driver初始化行
driver = new ChromeDriver();

对应的pom.xml依赖示例(使用最新5.x版本):

<dependency>
    <groupId>io.github.bonigarcia</groupId>
    <artifactId>webdrivermanager</artifactId>
    <version>5.6.3</version> <!-- 可替换为当前最新稳定版本 -->
</dependency>

方式2:降级到WebDriverManager 4.x版本

如果你想继续使用setup()方法,可以将WebDriverManager版本降级到4.x(比如4.4.3),此时原代码可以正常运行。

修改pom.xml中的依赖:

<dependency>
    <groupId>io.github.bonigarcia</groupId>
    <artifactId>webdrivermanager</artifactId>
    <version>4.4.3</version>
</dependency>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 13:42:45