Selenium Webdriver+;Java-Eclipse:Java.lang.NoClassDefFoundError
我从这里安装了JDK: (此版本适用于windows x64:Java SE开发工具包8u151) 我从这里下载了eclipse: (Windows 64位) 我在eclipse中打开了一个新项目:文件->新建->Java项目 然后我从这里下载了Selenium Java JAR: --->java语言 然后在eclipse中单击我的项目->属性->Java构建路径->库选项卡->添加外部JAR…->我进入“SeleniumDrivers\Java”库(在那里我保存了我下载的所有JAR)->我检查了那里的所有文件: 我点击“ok”并在eclipse中创建了一个新类 然后我从这里下载了chromedriver: 我将其解压缩并保存在这里:C:\Selenium\Drivers 这是我的剧本:Selenium Webdriver+;Java-Eclipse:Java.lang.NoClassDefFoundError,java,eclipse,selenium-webdriver,automation,Java,Eclipse,Selenium Webdriver,Automation,我从这里安装了JDK: (此版本适用于windows x64:Java SE开发工具包8u151) 我从这里下载了eclipse: (Windows 64位) 我在eclipse中打开了一个新项目:文件->新建->Java项目 然后我从这里下载了Selenium Java JAR: --->java语言 然后在eclipse中单击我的项目->属性->Java构建路径->库选项卡->添加外部JAR…->我进入“SeleniumDrivers\Java”库(在那里我保存了我下载的所有JAR)->我检
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class MainClass {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("hi there\n");
System.setProperty("webdriver.chrome.driver",
"C:/Selenium/Drivers/chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("https://www.facebook.com");
}
}
正如你所看到的,这是一个非常基本的脚本,可以打开chrome浏览器并导航到facebook
我运行此脚本并出现以下错误:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/http/config/RegistryBuilder
at org.openqa.selenium.remote.internal.HttpClientFactory.getClientConnectionManager(HttpClientFactory.java:69)
at org.openqa.selenium.remote.internal.HttpClientFactory.<init>(HttpClientFactory.java:57)
at org.openqa.selenium.remote.internal.HttpClientFactory.<init>(HttpClientFactory.java:60)
at org.openqa.selenium.remote.internal.ApacheHttpClient$Factory.getDefaultHttpClientFactory(ApacheHttpClient.java:242)
at org.openqa.selenium.remote.internal.ApacheHttpClient$Factory.<init>(ApacheHttpClient.java:219)
at org.openqa.selenium.remote.HttpCommandExecutor.getDefaultClientFactory(HttpCommandExecutor.java:93)
at org.openqa.selenium.remote.HttpCommandExecutor.<init>(HttpCommandExecutor.java:72)
at org.openqa.selenium.remote.service.DriverCommandExecutor.<init>(DriverCommandExecutor.java:63)
at org.openqa.selenium.chrome.ChromeDriverCommandExecutor.<init>(ChromeDriverCommandExecutor.java:36)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:181)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:168)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:123)
at MainClass.main(MainClass.java:11)
Caused by: java.lang.ClassNotFoundException: org.apache.http.config.RegistryBuilder
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)
... 13 more
线程“main”java.lang.NoClassDefFoundError中的异常:org/apache/http/config/RegistryBuilder
位于org.openqa.selenium.remote.internal.HttpClientFactory.getClientConnectionManager(HttpClientFactory.java:69)
位于org.openqa.selenium.remote.internal.HttpClientFactory.(HttpClientFactory.java:57)
位于org.openqa.selenium.remote.internal.HttpClientFactory.(HttpClientFactory.java:60)
位于org.openqa.selenium.remote.internal.ApacheHttpClient$Factory.getDefaultHttpClientFactory(ApacheHttpClient.java:242)
位于org.openqa.selenium.remote.internal.ApacheHttpClient$Factory(ApacheHttpClient.java:219)
位于org.openqa.selenium.remote.HttpCommandExecutor.getDefaultClientFactory(HttpCommandExecutor.java:93)
位于org.openqa.selenium.remote.HttpCommandExecutor。(HttpCommandExecutor.java:72)
位于org.openqa.selenium.remote.service.DriverCommandExecutor.(DriverCommandExecutor.java:63)
位于org.openqa.selenium.chrome.ChromeDriverCommandExecutor。(ChromeDriverCommandExecutor.java:36)
位于org.openqa.selenium.chrome.ChromeDriver(ChromeDriver.java:181)
位于org.openqa.selenium.chrome.ChromeDriver(ChromeDriver.java:168)
位于org.openqa.selenium.chrome.ChromeDriver(ChromeDriver.java:123)
在MainClass.main(MainClass.java:11)
原因:java.lang.ClassNotFoundException:org.apache.http.config.RegistryBuilder
位于java.net.URLClassLoader.findClass(未知源)
位于java.lang.ClassLoader.loadClass(未知源)
位于sun.misc.Launcher$AppClassLoader.loadClass(未知源)
位于java.lang.ClassLoader.loadClass(未知源)
... 还有13个
我不知道如何解决这个问题,你能帮我解决一下,这样我就可以运行我的基本脚本了吗?似乎是最新的(v3.7
)Selenium Java zip文件在lib文件夹中包含了较少的jarv3.6
包含10个lib jar,但v3.7
仅包含7个jar
导致op出现所有问题的缺少的jar是“httpcore-4.4.6.jar”。我不确定移除罐子是否是有意的。也许chromedriver
已经赶上了seleniumjava3.7
看到了这一点
我使用Selenium Java 3.6的平均时间。不要忘记添加/lib文件夹
似乎是最新的(v3.7
)Selenium Java zip文件在lib文件夹中包含了较少的jarv3.6
包含10个lib jar,但v3.7
仅包含7个jar
导致op出现所有问题的缺少的jar是“httpcore-4.4.6.jar”。我不确定移除罐子是否是有意的。也许chromedriver
已经赶上了seleniumjava3.7
看到了这一点
我使用Selenium Java 3.6的平均时间。不要忘记添加/lib文件夹
java.lang.NoClassDefFoundError
在JRE找不到类时被观察到
简单地说,所需的导入
或jar
文件不可用。从您共享的快照中可以明显看出,您已经尝试添加与Java客户机相关的JAR
在这种情况下,您需要遵循以下步骤:
删除所有引用先前版本的Selenium单机版服务器和Selenium Java客户端的JAR
仅导入selenium-server-standalone-3.7.0
在项目菜单内的IDE中,选择选项“自动生成”,并对所有项目执行Clean
选项
执行测试
java.lang.NoClassDefFoundError
在JRE找不到类时出现
简单地说,所需的导入
或jar
文件不可用。从您共享的快照中可以明显看出,您已经尝试添加与Java客户机相关的JAR
在这种情况下,您需要遵循以下步骤:
删除所有引用先前版本的Selenium单机版服务器和Selenium Java客户端的JAR
仅导入selenium-server-standalone-3.7.0
在项目菜单内的IDE中,选择选项“自动生成”,并对所有项目执行Clean
选项
执行测试
我添加了3.6版中丢失的三个罐子,并修复了所有问题。
我添加了3.6版中缺失的三个罐子,并修复了所有问题。
将appium java客户端更新为7.3.0,将selenium java更新为3.141.59,这解决了我的问题,希望它有所帮助。将appium java客户端更新为7.3.0,将selenium java更新为3.141.59,这解决了我的问题,希望它有所帮助。我也面临同样的问题。对我来说,它没有找到WebDriver。这似乎是在我将库导入到类路径以外的位置时发生的。然后我打开了一个新项目,转到属性>Java构建路径>库。这个提姆