无法从Selenium Webdriver启动IE / Chrome

时间:2014-02-25 14:49:49

标签: eclipse selenium selenium-webdriver selenium-chromedriver

从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();
  }

2 个答案:

答案 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();

    }

}