HtmlUnitDriver Error: java.lang.NoClassDefFoundError: com/gargoylesoftware/htmlunit/WebWindowListener

HtmlUnitDriver Error: java.lang.NoClassDefFoundError: com/gargoylesoftware/htmlunit/WebWindowListener

我创建了一个名为 htmlUnitTest 的 java class 来使用 Selenium Headless Testing 进行测试。 class 基本上转到 google 站点并在该站点的搜索框中写入文本,进行搜索并获取页面标题并在 Eclipse 控制台中显示该标题。 当我运行测试时,Eclipse显示如下错误信息:

Exception in thread "main" java.lang.NoClassDefFoundError: com/gargoylesoftware/htmlunit/WebWindowListener at htmldriver.htmlUnitTest.main(htmlUnitTest.java:12) Caused by: java.lang.ClassNotFoundException: com.gargoylesoftware.htmlunit.WebWindowListener at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 1 more

我用来为我的项目导入 HtmlUnitDriver class 的 jar 文件是:selenium-htmlunit-driver-2.52.0.jar.

下面是 Java 代码。

public class htmlUnitTest {

public static void main(String[] args) {

    WebDriver driver = new HtmlUnitDriver();
    driver.get("https://www.google.com.br/");

    WebElement ele = driver.findElement(By.name("q"));
    ele.sendKeys("Teste");
    ele.submit();

    System.out.println("Título da página: " +driver.getTitle());
    driver.quit();
}}

HtmlUnitDriver 只是 HtmlUnit 本身的一个小包装器。因此,您还需要 selenium-htmlunit-driver 的所有依赖项(实际上是具有所有依赖项的 HtmlUnit)。

您可以在这里下载整个包https://github.com/SeleniumHQ/htmlunit-driver/releases