无法通过Selenium中的htmlunit驱动程序运行脚本

时间:2019-02-19 18:17:53

标签: java selenium selenium-webdriver htmlunit htmlunit-driver

我正在尝试运行htmlunit驱动程序,但是执行脚本失败

代码:

 public class Testworking 
  {

    public static void main(String args[])throws Exception
     {
        WebDriver driver=new HtmlUnitDriver();
        driver.get("https://www.google.com");
        System.out.println(driver.getTitle());
     }

  }

例外:

  Exception in thread "main" java.lang.NoClassDefFoundError: org/openqa/selenium/remote/SessionNotFoundException
  at com.online.paypal.test.sampler.Testworking.main(Testworking.java:10)
  Caused by: java.lang.ClassNotFoundException: org.openqa.selenium.remote.SessionNotFoundException
  at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
  at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
  ... 1 more

我的pom.xml文件如下所示:

 <dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-server</artifactId>
    <version>3.4.0</version>
 </dependency>
 <dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpclient</artifactId>
    <version>4.5.2</version>
 </dependency>
 <dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-java</artifactId>
    <version>3.4.0</version>
 </dependency>

有人知道我为什么要获得调用目标异常,如何解决这个问题。我只想仅使用htmlunit而不是phanthomjs或其他无头驱动程序来完成此要求。我只想仅使用htmlunit来启动示例google.com,而不支持任何chrome或firefox驱动程序,并且VM没有任何浏览器(Chrome或firefox二进制文件),我只想通过htmlunit运行它。

请帮助我实现这一目标。

1 个答案:

答案 0 :(得分:0)

感谢Beatrice对您的评论。我只是从pom.xml中删除了一些不必要的依赖项,还观察到htmlunitdriver默认在v3.4.0中可用。我们无需在pom.xml中显式添加。我做了全新安装,然后更新并再次更新了Maven项目(.m2)。

它解决了这个问题。

感谢您的所有输入和评论。