【问题标题】:Not able to launch IE/Chrome from Selenium Webdriver无法从 Selenium Webdriver 启动 IE/Chrome
【发布时间】:2017-05-11 12:07:33
【问题描述】:

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

【问题讨论】:

  • 检查您的浏览器版本;那是25+吗?此外,您的驱动程序应位于正确的位置 C://chromedriver.exe
  • 是的,它的 33.xx。那么解决方案是降级 chrome 吗? Chromedriver已添加到项目文件夹中,所以那里没有问题。
  • 是的尝试降级并检查相同
  • 但是code.google.com/p/selenium/wiki/ChromeDriver 中提到的路径呢?它说 chrome 应该在 App Data 中?
  • 我会接受@PrashanthSams 的建议,将驱动程序放在一个实际的文件夹中,并在webdriver.chrome.driver 属性中明确 引用它。这是您出错的原因,与 Chrome 的位置无关。

标签: eclipse selenium selenium-webdriver selenium-chromedriver


【解决方案1】:

InternetExplorerDriver 对象应该在 设置 webdriver.ie.driver 属性之后创建。 chrome也是如此。

另外,引用的代码使用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();

【讨论】:

    【解决方案2】:

    你必须使用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();
    
        }
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-18
      • 2017-04-26
      • 2016-11-08
      • 2021-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多