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

WebDriverManager中出现空指针异常问题咨询

排查WebDriverManager使用中的Null Pointer Exception问题

嘿,这个问题很典型,我一眼就找到了根源——你调用了WebDriverManager.chromedriver().setup(),但完全没实例化WebDriver对象!

问题原因拆解

WebDriverManager.setup()的作用仅仅是帮你自动下载、配置ChromeDriver的系统路径,它不会帮你创建WebDriver实例。你的driver变量一开始是null,执行完setup()后依然是null,这时候调用driver.get()肯定会触发空指针异常。

修复后的代码

只需要在setup()之后添加一行实例化代码就行,同时别忘了导入必要的类:

package base;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import io.github.bonigarcia.wdm.WebDriverManager;

public class Page{
    public static WebDriver driver;
    public Page() {
        if(driver==null) {
            WebDriverManager.chromedriver().setup();
            // 关键步骤:给driver赋值,创建ChromeDriver实例
            driver = new ChromeDriver();
            driver.get("https://www.zoho.com/");
            driver.manage().window().maximize();
            driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
        }
    }
}

额外提醒

  • 确保你的项目里已经正确引入了WebDriverManager、Selenium Java的依赖,不然会出现编译错误。
  • 另外,使用静态driver在单线程测试场景下没问题,但如果是多线程并行测试,可能会出现线程安全问题,到时候可能需要调整为非静态的实例化方式。

内容的提问来源于stack exchange,提问作者vaishnavi A.N.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 15:22:57