Selenium Java 4.1.3 java.lang.NoClassDefFoundError: org/openqa/selenium/WebDriver
Selenium Java 4.1.3 java.lang.NoClassDefFoundError: org/openqa/selenium/WebDriver
我遵循了本教程 https://www.javatpoint.com/selenium-webdriver-installation 但 WebDriver 有问题 class :
Error: Unable to initialize main class First
Caused by: java.lang.NoClassDefFoundError: org/openqa/selenium/WebDriver
我已经按照教程中所示放置了依赖项。如果我相信 Selnium API 的文档,WebDriver class 出现在 4.1.3 版本中。
我不知道是不是因为4.1.3版本没有client-combiden-3.13.0.jar
文件之类的...所以如果你有解决方案,我在。
我在 Windows 10,我使用 Eclipse IDE 版本 2021-06 (4.20.0)。
这是我的 class 第一:
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class First {
public static void main(String[] args) {
// declaration and instantiation of objects/variables
System.setProperty("webdriver.chrome.driver", "/root/drivers/chromedriver.exe");
WebDriver driver = new ChromeDriver();
// Launch website
driver.navigate().to("http://www.google.com/");
// Click on the search text box and send value
driver.findElement(By.id("lst-ib")).sendKeys("javatpoint tutorials");
// Click on the search button
driver.findElement(By.name("btnK")).click();
}
}
感谢您的帮助!
您可能只添加了以下 JARS:
- selenium-api-4.1.3.jar
- selenium-chrome-driver-4.1.3.jar
- (全部在'lib')
ChromeDriver
继承自 ChromiumDriver
,后者又继承自 RemoteWebDriver
,后者最终实现了 WebDriver
。由于您没有提供这些链接,编译器无法知道 ChromeDriver
实现了 WebDriver
.
您至少需要添加这些外部 JARS:
- selenium-api-4.1.3
- selenium-remote-driver-4.1.3
- selenium-chromium-driver-4.1.3
- selenium-chrome-driver-4.1.3
- (全部在文件夹'lib'中)
注意:您可能还想添加 xxx-sources.jar。这不是必需的,但您可以将它附加到已编译的 类 以查看实际代码,而不是 eclipse 在“Class 文件编辑器”中提供的奇怪表示。
您还可以添加下载的 ZIP 中的所有 jar 文件,以防止将来出现类似错误。或者我的首选方式:查看 Maven (https://www.vogella.com/tutorials/EclipseMaven/article.html)。它为您管理依赖项,非常易于使用,您可以更轻松地更新您的库。您似乎是一名新程序员,我知道了解所有这些工具可能看起来令人生畏,但 Maven 会让您的生活变得更加轻松。
所以对于那些有同样问题的人:
我在 classpath 中添加了来自 Java Selenium zip 文件的所有外部 JAR,而不是在 modulepath.[=13= 中]
Picture of Java Build Path to add dependencies
在那之后,我得到了错误:SLF4J:Failed to load class "org.slf4j.impl.StaticLoggerBinder
。
为了解决这个错误,我检查了我是否有 slf4j-api-1.7.36.jar 文件并添加了 slf4j -简单-1.7.36.jar。我从 https://repo1.maven.org/maven2/org/slf4j/slf4j-simple/1.7.36/slf4j-simple-1.7.36.jar
下载
最后,我的最后一个问题是我使用的驱动程序,与浏览器版本相比,它不是正确的版本。
我遵循了本教程 https://www.javatpoint.com/selenium-webdriver-installation 但 WebDriver 有问题 class :
Error: Unable to initialize main class First
Caused by: java.lang.NoClassDefFoundError: org/openqa/selenium/WebDriver
我已经按照教程中所示放置了依赖项。如果我相信 Selnium API 的文档,WebDriver class 出现在 4.1.3 版本中。
我不知道是不是因为4.1.3版本没有client-combiden-3.13.0.jar
文件之类的...所以如果你有解决方案,我在。
我在 Windows 10,我使用 Eclipse IDE 版本 2021-06 (4.20.0)。
这是我的 class 第一:
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class First {
public static void main(String[] args) {
// declaration and instantiation of objects/variables
System.setProperty("webdriver.chrome.driver", "/root/drivers/chromedriver.exe");
WebDriver driver = new ChromeDriver();
// Launch website
driver.navigate().to("http://www.google.com/");
// Click on the search text box and send value
driver.findElement(By.id("lst-ib")).sendKeys("javatpoint tutorials");
// Click on the search button
driver.findElement(By.name("btnK")).click();
}
}
感谢您的帮助!
您可能只添加了以下 JARS:
- selenium-api-4.1.3.jar
- selenium-chrome-driver-4.1.3.jar
- (全部在'lib')
ChromeDriver
继承自 ChromiumDriver
,后者又继承自 RemoteWebDriver
,后者最终实现了 WebDriver
。由于您没有提供这些链接,编译器无法知道 ChromeDriver
实现了 WebDriver
.
您至少需要添加这些外部 JARS:
- selenium-api-4.1.3
- selenium-remote-driver-4.1.3
- selenium-chromium-driver-4.1.3
- selenium-chrome-driver-4.1.3
- (全部在文件夹'lib'中)
注意:您可能还想添加 xxx-sources.jar。这不是必需的,但您可以将它附加到已编译的 类 以查看实际代码,而不是 eclipse 在“Class 文件编辑器”中提供的奇怪表示。
您还可以添加下载的 ZIP 中的所有 jar 文件,以防止将来出现类似错误。或者我的首选方式:查看 Maven (https://www.vogella.com/tutorials/EclipseMaven/article.html)。它为您管理依赖项,非常易于使用,您可以更轻松地更新您的库。您似乎是一名新程序员,我知道了解所有这些工具可能看起来令人生畏,但 Maven 会让您的生活变得更加轻松。
所以对于那些有同样问题的人:
我在 classpath 中添加了来自 Java Selenium zip 文件的所有外部 JAR,而不是在 modulepath.[=13= 中]
Picture of Java Build Path to add dependencies
在那之后,我得到了错误:SLF4J:Failed to load class "org.slf4j.impl.StaticLoggerBinder
。
为了解决这个错误,我检查了我是否有 slf4j-api-1.7.36.jar 文件并添加了 slf4j -简单-1.7.36.jar。我从 https://repo1.maven.org/maven2/org/slf4j/slf4j-simple/1.7.36/slf4j-simple-1.7.36.jar
下载最后,我的最后一个问题是我使用的驱动程序,与浏览器版本相比,它不是正确的版本。