这是我的Java代码:
import java.util.List;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
class mytestclass {
public static void main(String[] args) {
WebDriver driver = new FirefoxDriver();
driver.get("http://www.google.com");
WebElement element = driver.findElement(By.name("q"));
element.sendKeys("selenium!\n"); // send also a "\n"
element.submit();
// wait until the google page shows the result
WebElement myDynamicElement = (new WebDriverWait(driver, 10))
.until(ExpectedConditions.presenceOfElementLocated(By.id("resultStats")));
List<WebElement> findElements = driver.findElements(By.xpath("//*[@id='rso']//h3/a"));
// this are all the links you like to visit
for (WebElement webElement : findElements)
{
System.out.println(webElement.getAttribute("href"));
}
}
}
我在cmd中输入了以下命令来编译.java文件:
javac -classpath "selenium-server-standalone-2.53.1.jar;selenium-java-2.53.1\selenium-2.53.1\selenium-java-2.53.1.jar;selenium-java-2.53.1\selenium-2.53.1\selenium-java-2.53.1-srcs.jar;D:\Adit\Selenium\selenium-java-2.53.1\selenium-2.53.1\libs\*.jar" mytestclass.java
当我尝试使用'java mytestclass'运行它时,在cmd中给我以下错误:
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.NoClassDefFoundError: org/openqa/selenium/WebDriver
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
at java.lang.Class.privateGetMethodRecursive(Unknown Source)
at java.lang.Class.getMethod0(Unknown Source)
at java.lang.Class.getMethod(Unknown Source)
at sun.launcher.LauncherHelper.validateMainClass(Unknown Source)
at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.openqa.selenium.WebDriver
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)
... 7 more
我试图使用gradle来编译jar文件。我的文件树如下所示:
在图像中突出显示的libs文件夹中,我已复制了所有jar文件。我提供以下图片:
我的build.gradle文件包含以下几行:
apply plugin: 'java'
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
}
现在,如果我给命令“ gradle build”,那么它会显示“ BUILD SUCCESSFUL”。
:compileJava
:processResources UP-TO-DATE
:classes
:jar
:assemble
:compileTestJava UP-TO-DATE
:processTestResources UP-TO-DATE
:testClasses UP-TO-DATE
:test UP-TO-DATE
:check UP-TO-DATE
:build
BUILD SUCCESSFUL
Total time: 2.738 secs
但是,如果我尝试使用命令“ java mytestclass”运行编译的类文件,则会再次遇到相同的错误。
我该如何解决?我要运行硒而不发生蚀。我正在运行Windows,而我的Java版本是1.8.0_101。
我创建了一个libs文件夹并将所有jar文件从selenium-java-2.53.1的libs目录复制到该新创建的libs文件夹中。然后我用Gradle编译了我的Java代码。我的build.gradle文件:
apply plugin: 'java'
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
}
然后,我向类路径中添加了两个必需的jar文件,它解决了我的问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句