错误:必须通过webdriver.ie.driver系统属性

时间:2017-07-17 11:59:25

标签: java selenium testing selenium-webdriver automated-tests

下面的代码使用Selenium自动化浏览器。

public static void main(String[] args) throws InterruptedException {
    System.setProperty("webdriver.chrome.driver", "C:\\Users\\trainee\\Downloads\\chromedriver_win32\\chromedriver.exe");
    WebDriver driver=new ChromeDriver();

    driver.get("https:\\www.google.com");
    //driver.manage().window().maximize();
    String str=driver.getCurrentUrl();
    System.out.println(str);
    String abc=driver.getTitle();
    System.out.println(abc);

    driver.manage().timeouts().implicitlyWait(30, TimeUnit.MINUTES);

    driver.findElement(By.id("lst-ib")).click();
    driver.findElement(By.id("lst-ib")).sendKeys("Gmail");
    driver.findElement(By.id("lst-ib")).submit();
}

当我执行代码时,我收到此错误:

  

java.illegalstateexception:驱动程序可执行文件的路径必须是   由webdriver.ie.driver系统属性“。

设置

我在系统中安装的chrome驱动程序的代码中给出了正确的路径,即使我遇到了这个问题。请帮帮我。

3 个答案:

答案 0 :(得分:1)

将驱动程序放在某个位置,例如C:\ Selenium \ iexploredriver.exe。您可以从here下载IE驱动程序。

然后

File file = new File("C:/Selenium/iexploredriver.exe");
System.setProperty("webdriver.ie.driver", file.getAbsolutePath());
WebDriver driver = new InternetExplorerDriver();

希望它会对你有所帮助。

答案 1 :(得分:1)

在这一行----> " System.setProperty(" webdriver.chrome.driver"," C:\ Users \ trainee \ Downloads \ chromedriver_win32 \ chromedriver.exe"); 从chrome驱动程序的路径中删除扩展名(.exe)

尝试删除.exe扩展名

System.setProperty(" webdriver.chrome.driver"," C:\ Users \ trainee \ Downloads \ chromedriver_win32 \ chromedriver");

答案 2 :(得分:0)

处理此问题的最简单方法是将webdriver可执行文件的路径添加到PATH环境变量中。

这样,您不必担心代码中的驱动程序可执行文件的位置,而是担心环境配置。

如果是chrome和firefox,可以在windows,mac和linux上移植,你可以在任何上述操作系统上运行你的selenium代码而不指定驱动程序的路径但是正确配置你将运行测试的环境on(在PATH env var中放置可执行文件的路径)。