我正在尝试运行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运行它。
请帮助我实现这一目标。
答案 0 :(得分:0)
感谢Beatrice对您的评论。我只是从pom.xml中删除了一些不必要的依赖项,还观察到htmlunitdriver默认在v3.4.0中可用。我们无需在pom.xml中显式添加。我做了全新安装,然后更新并再次更新了Maven项目(.m2)。
它解决了这个问题。
感谢您的所有输入和评论。