版本: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
答案 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,你的项目应该成功编译。