从Selenium Webdriver启动IE后,显示以下错误:
线程“main”中的异常java.lang.IllegalStateException:路径 必须由webdriver.ie.driver系统设置驱动程序可执行文件 属性。在 com.google.common.base.Preconditions.checkState(Preconditions.java:177) 在 org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:105) 在 org.openqa.selenium.ie.InternetExplorerDriverService.access $ 1(InternetExplorerDriverService.java:1) 在 org.openqa.selenium.ie.InternetExplorerDriverService $ Builder.build(InternetExplorerDriverService.java:230) 在 org.openqa.selenium.ie.InternetExplorerDriver.setupService(InternetExplorerDriver.java:263) 在 org.openqa.selenium.ie.InternetExplorerDriver。(InternetExplorerDriver.java:182) 在 org.openqa.selenium.ie.InternetExplorerDriver。(InternetExplorerDriver.java:155)
使用的代码:
public class Browser {
public static void main(String[] args) {
WebDriver obj = new InternetExplorerDriver();
System.getProperty("webdriver.ie.driver", "D:\\Eclipse Workspace\\Multi Browser\\IEDriverServer.exe");
obj.get("http://www.google.com/");
obj.close();
}
答案 0 :(得分:2)
InternetExplorerDriver
对象应在 设置webdriver.ie.driver
属性后创建 。同样适用于铬。
此外,引用的代码使用getProperty()
,而您需要使用setProperty()
来实际设置它。
System.setProperty("webdriver.ie.driver", "D:\\Eclipse Workspace\\Multi Browser\\IEDriverServer.exe");
WebDriver obj = new InternetExplorerDriver();
obj.get("http://www.google.com/");
obj.close();
答案 1 :(得分:1)
您必须使用setProperty()
功能。基本上,您必须在初始化驱动程序之前设置此属性。但是您正在使用getProperty()
。
以下是示例Java代码:
public class IE {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.setProperty("webdriver.ie.driver", "D:\\SATHISH\\SOFTWARES\\SELENIUM\\IEDriverServer.exe");
WebDriver driver = new InternetExplorerDriver();
driver.get("www.google.com");
driver.findElement(By.id("gbqfq")).sendKeys("abc");
driver.close();
}
}