这是我的代码:
package Basics;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class invokegoogle {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.setProperty("Webdriver.chrome.driver", "C:\\Users\\sravani\\Desktop.exe");
WebDriver driver=new ChromeDriver();
driver.get("http://qaclickacademy.com");
}
}
获得以下错误:
Exception in thread "main" java.lang.IllegalStateException: The path to the driver executable must be set by the webdriver.chrome.driver system property; for more information, see https://github.com/SeleniumHQ/selenium/wiki/ChromeDriver. The latest version can be downloaded from http://chromedriver.storage.googleapis.com/index.html
at com.google.common.base.Preconditions.checkState(Preconditions.java:754)
at org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:124)
at org.openqa.selenium.chrome.ChromeDriverService.access$000(ChromeDriverService.java:32)
at org.openqa.selenium.chrome.ChromeDriverService$Builder.findDefaultExecutable(ChromeDriverService.java:137)
at org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:329)
at org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:88)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:124)
at Basics.invokegoogle.main(invokegoogle.java:12)
非常感谢任何帮助。提前致谢
答案 0 :(得分:2)
假设chromedriver.exe
存储在您的桌面上,您需要进行以下几项更改:
变化:
System.setProperty("Webdriver.chrome.driver", "C:\\Users\\sravani\\Desktop.exe");
要:
System.setProperty("webdriver.chrome.driver", "C:\\Users\\sravani\\Desktop\\chromedriver.exe");
请注意&#34; webdriver.chrome.driver&#34;需要以小写字母开头。
答案 1 :(得分:1)
将chrome驱动程序下载到系统中后,将其解压缩(解压缩)到文件夹后,看起来您已经直接复制了文件夹路径&#34; Downloads / chromedriver_win32.exe&#34;,而是使用完整路径如下所述
打开文件夹(chromedriver_win32.exe),然后你会看到&#34; chromedriver.exe&#34;作为.exe文件,并使用此路径,它看起来像这样
System.setProperty("webdriver.chrome.driver", C:\Downloads\chromedriver_win32\chromedriver.exe");
这将有效
答案 2 :(得分:0)
我也遇到了同样的问题,然后搜索了很多答案并应用于我的代码,但结果显示为空 然后我意识到我已经在类的上面声明了静态变量 看起来像
private static WebDriver driver = new ChromeDriver();
然后我像在空主类下重写代码
WebDriver driver = new ChromeDriver();
现在我的代码运行正常 您也可以尝试这样或让我知道,以便我为您提供帮助。
答案 3 :(得分:0)