2017-05-09 111 views
2

我想运行一个简单的硒脚本打开铬驱动程序导航到该网址。下面是我的代码:使用最新的硒版本与JAva 8给LoggingHandler错误

WebDriver driver =new ChromeDriver(); 
driver.get("http://www.google.com"); 
WebElement element=driver.findElement(By.name("q")); 
element.sendKeys("Cheese!!!"); 
element.submit(); 
System.out.println("Page title is: " + driver.getTitle()); 
driver.quit(); 

在运行的代码我收到以下错误:

Exception in thread "main" java.lang.NoClassDefFoundError: org/openqa/selenium/logging/LoggingHandler 
at Main.main(Main.java:16) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:483) 
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140) 
Caused by: java.lang.ClassNotFoundException: org.openqa.selenium.logging.LoggingHandler 
at java.net.URLClassLoader$1.run(URLClassLoader.java:372) 
at java.net.URLClassLoader$1.run(URLClassLoader.java:361) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.net.URLClassLoader.findClass(URLClassLoader.java:360) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 

我的POM文件有这些依赖关系:

<dependency> 
    <groupId>org.seleniumhq.selenium</groupId> 
    <artifactId>selenium-java</artifactId> 
    <version>3.4.0</version> 
</dependency> 
<dependency> 
    <groupId>org.seleniumhq.selenium</groupId> 
    <artifactId>selenium-server</artifactId> 
    <version>3.4.0</version> 
</dependency> 
<dependency> 
    <groupId>org.seleniumhq.selenium</groupId> 
    <artifactId>selenium-firefox-driver</artifactId> 
    <version>3.4.0</version> 
</dependency> 
<dependency> 
    <groupId>org.seleniumhq.selenium</groupId> 
    <artifactId>selenium-chrome-driver</artifactId> 
    <version>3.4.0</version> 
</dependency> 
<dependency> 
    <groupId>org.seleniumhq.selenium</groupId> 
    <artifactId>selenium-api</artifactId> 
    <version>3.4.0</version> 
</dependency> 

是什么原因造成上述错误?我尝试过在线搜索,但找不到一个答案。

+0

哪条线会抛出此错误? – kushal

回答

2

错误似乎是它找不到类LoggingHandler。该类通常在selenium-api依赖项中。您可以尝试使用2.53.1版本而不是3.4.0。该版本缺少类。

<dependency> 
    <groupId>org.seleniumhq.selenium</groupId> 
    <artifactId>selenium-api</artifactId> 
    <version>2.53.1</version> 
</dependency> 
+0

感谢您的输入。我能够通过创建另一个新项目并仍然使用相同的pom文件来解决问题。 – worrynerd

+0

这让我感到有另一个编译错误,所以谢谢。但是,我想知道是否有人知道为什么会发生这种情况。是Java错误还是Selenium? – CatsAndCode