好的我正在使用
日食霓虹灯
客户联合3.1.0-nodeps.jar
for firefox-setup 39.0
这是我的代码
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class T1 {
public static void main(String[] args){
WebDriver driver = new FirefoxDriver();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.navigate().to("https://www.orbitz.com/");
driver.manage().window().maximize();
driver.findElement(By.xpath(".//*[@id='primary-header-hotel']")).click();
String result = driver.getPageSource();
System.out.println("result is "+" "+ result);
driver.close();
}
}
这是错误
线程中的异常" main" java.lang.NoClassDefFoundError: com / google / common / base / T1.main上的函数(T1.java:12)引起: java.lang.ClassNotFoundException:com.google.common.base.Function at java.net.URLClassLoader.findClass(未知来源)at java.lang.ClassLoader.loadClass(未知来源)at sun.misc.Launcher $ AppClassLoader.loadClass(未知来源)at java.lang.ClassLoader.loadClass(未知来源)......另外1个
我已经看到了为guava-21.0添加路径的解决方案
但更多错误
线程中的异常" main" java.lang.IllegalStateException:路径 必须通过webdriver.gecko.driver设置驱动程序可执行文件 系统属性;有关更多信息,请参阅 https://github.com/mozilla/geckodriver。最新版本可以 从https://github.com/mozilla/geckodriver/releases下载 com.google.common.base.Preconditions.checkState(Preconditions.java:738) 在 org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:111) 在 org.openqa.selenium.firefox.GeckoDriverService.access $ 100(GeckoDriverService.java:38) 在 org.openqa.selenium.firefox.GeckoDriverService $ Builder.findDefaultExecutable(GeckoDriverService.java:112) 在 org.openqa.selenium.remote.service.DriverService $ Builder.build(DriverService.java:302) 在 org.openqa.selenium.firefox.FirefoxDriver.createCommandExecutor(FirefoxDriver.java:312) 在 org.openqa.selenium.firefox.FirefoxDriver。(FirefoxDriver.java:272) 在 org.openqa.selenium.firefox.FirefoxDriver。(FirefoxDriver.java:267) 在 org.openqa.selenium.firefox.FirefoxDriver。(FirefoxDriver.java:263) 在 org.openqa.selenium.firefox.FirefoxDriver。(FirefoxDriver.java:122) 在T1.main(T1.java:12)
添加代码行后仍然是Client-combined-3.1.0-nodeps.jar firefox 52.0.1并使用geckodriver-v0.15.0-win64 仍然得到相同的错误
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class T1 {
public static void main(String[] args){
System.setProperty("webdriver.gecko.driver","C:\\Users\\ahmed\\Desktop\\geckodriver.exe");
WebDriver driver = new FirefoxDriver();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.navigate().to("https://www.orbitz.com/");
driver.manage().window().maximize();
driver.findElement(By.xpath(".//*[@id='primary-header-hotel']")).click();
String result = driver.getPageSource();
System.out.println("result is "+" "+ result);
driver.close();
}
}
这是错误
线程中的异常" main" java.lang.NoClassDefFoundError: com / google / common / base / T1.main上的函数(T1.java:14)引起: java.lang.ClassNotFoundException:com.google.common.base.Function at java.net.URLClassLoader.findClass(未知来源)at java.lang.ClassLoader.loadClass(未知来源)at sun.misc.Launcher $ AppClassLoader.loadClass(未知来源)at java.lang.ClassLoader.loadClass(未知来源)......另外1个
答案 0 :(得分:0)
在Selenium 3.1.0中,您必须执行以下操作来初始化gecko驱动程序:
System.setproperty( “webdriver.gecko.driver”, “C:\\ geckodriver_location \\ geckodriver.exe”);
Webdriver driver = new Firefoxdriver();
运行您的代码。它应该是成功的。如果这对您有用,请告诉我。