我已经应用了所有代码并且仍然无法在硒中打开chrome浏览器。我还为壁虎驱动程序设置了属性。请检查代码并提供解决方案
我收到此错误
线程“主”中的异常java.lang.IllegalStateException:驱动程序可执行文件的路径必须由webdriver.chrome.driver系统属性设置;否则,必须为false。有关更多信息,请参见https://github.com/SeleniumHQ/selenium/wiki/ChromeDriver。可以从http://chromedriver.storage.googleapis.com/index.html
下载最新版本com.google.common.base.Preconditions.checkState(Preconditions.java:847) 在org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:134) 位于org.openqa.selenium.chrome.ChromeDriverService.access $ 000(ChromeDriverService.java:35) 在org.openqa.selenium.chrome.ChromeDriverService $ Builder.findDefaultExecutable(ChromeDriverService.java:159) 在org.openqa.selenium.remote.service.DriverService $ Builder.build(DriverService.java:355) 在org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:94) 在org.openqa.selenium.chrome.ChromeDriver。(ChromeDriver.java:123) 在hps1.HPS.main(HPS.java:10)
HPS.java
package hps1;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class HPS {
public static void main(String[] args) {
// TODO Auto-generated method stub
WebDriver driver=new ChromeDriver();
//System.setProperty("webdriver.chrome.driver","C:\\chromedriver.exe");
System.setProperty("webdriver.chrome.driver", "C:\\chromedriver_win32\\chromedriver.exe");
// Open
driver.get("http://www.facebook.com");
// Maximize browser
driver.manage().window().maximize();
}
}
答案 0 :(得分:3)
首先是initializing
driver
,然后设置系统属性,这就是它引发错误的原因。将Property setting
行移到driver initialization
上方将为您完成这项工作。
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver", "C:\\chromedriver_win32\\chromedriver.exe");
WebDriver driver=new ChromeDriver();
// Open
driver.get("http://www.facebook.com");
// Maximize browser
driver.manage().window().maximize();
}
答案 1 :(得分:0)
看,这是第一步,您应该告诉驱动程序在哪里以及它是什么类型。
System.setProperty("webdriver.chrome.driver", "D:\\browser_driver\\chromedriver\\chromedriver.exe");
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments("--headless"); //谷歌浏览器无头模式
// chromeOptions.addArguments("no-sandbox");//禁用沙盒
driver= new ChromeDriver(service,chromeOptions);//使用端口
然后构建一个新的ChromeDriver是可以的。您会看到一条异常消息,告诉您该驱动程序的设置不正确,因此您应该先对其进行设置,然后再构造一个对象。