无法在最新的selenium 3.x中初始化chrome驱动程序

时间:2016-12-30 19:02:50

标签: java selenium selenium-webdriver webdriver selenium-chromedriver

版本:Selenium 3.0.1 操作系统:Windows 10,Eclipse neon

无法在最新的selenium 3.x中初始化chrome驱动程序。相同的代码可以正常使用2.53.x,堆栈跟踪被复制到下面,似乎ApacheHttpClient引用被破坏了。 anyideas?

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/http/auth/Credentials
    at org.openqa.selenium.remote.HttpCommandExecutor.getDefaultClientFactory(HttpCommandExecutor.java:92)
    at org.openqa.selenium.remote.HttpCommandExecutor.<init>(HttpCommandExecutor.java:71)
    at org.openqa.selenium.remote.service.DriverCommandExecutor.<init>(DriverCommandExecutor.java:62)
    at org.openqa.selenium.chrome.ChromeDriverCommandExecutor.<init>(ChromeDriverCommandExecutor.java:40)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:174)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:163)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:120)
    at last.test.main(test.java:17)
Caused by: java.lang.ClassNotFoundException: org.apache.http.auth.Credentials
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 8 more

2 个答案:

答案 0 :(得分:0)

NoClassDefFoundError几乎总是意味着你在类路径上缺少一个库。所需的库版本可能已经使用Selenium 3进行了更改 - 确保您的类路径包含所有依赖项。

答案 1 :(得分:0)

我在Windows 10计算机上使用带有selenium 3.0.1的Chrome驱动程序时遇到了这个问题。

Selenium Downlaod下载旧版本的selenium webdriver。 从下载的zip文件中搜索 jcommander-1.48.jar ,并将此jar添加到当前项目中。

这应该修复 NoClassDefFoundErro r,你的项目应该成功编译。