【问题标题】:UnreachableBrowserException trying to launch in Selenium Webdriver using IEDriverUnreachableBrowserException 尝试使用 IEDriver 在 Selenium Webdriver 中启动
【发布时间】:2013-06-08 14:52:50
【问题描述】:

我有一组在 Firefox 和 Chrome 中运行良好的自动化,我也想启动一个 IEDriver 实例。

我已经按照Selenium's Google Code wiki 设置了 IEDriver,并使用了正确的路径(如果我更改路径,我会遇到不同的异常,所以它绝对是正确的)。但由于某种原因,它仍然无法启动,只是超时。

启动它的代码(最后一行抛出异常):

        File ieDriver = new File("C:/Users/whatever/path/IEDriverServer.exe");
        System.setProperty("webdriver.ie.driver", ieDriver.getAbsolutePath());
        WebDriver ie = new InternetExplorerDriver();

例外是:

Exception in thread "main" org.openqa.selenium.remote.UnreachableBrowserException: Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure.
Build info: version: '2.33.0', revision: '4ecaf82108b2a6cc6f006aae81961236eba93358', time: '2013-05-22 12:00:17'
System info: os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.7.0_21'
Driver info: driver.version: InternetExplorerDriver
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:548)
    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:216)
    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:201)
    at org.openqa.selenium.ie.InternetExplorerDriver.run(InternetExplorerDriver.java:184)
    at org.openqa.selenium.ie.InternetExplorerDriver.<init>(InternetExplorerDriver.java:174)
    at org.openqa.selenium.ie.InternetExplorerDriver.<init>(InternetExplorerDriver.java:143)
    at uk.co.know.kiteTest.WebDriverManager.<init>(WebDriverManager.java:52)
    at uk.co.know.kiteTest.RunAutomations.main(RunAutomations.java:13)
Caused by: org.openqa.selenium.WebDriverException: Timed out waiting for driver server to start.
Build info: version: '2.33.0', revision: '4ecaf82108b2a6cc6f006aae81961236eba93358', time: '2013-05-22 12:00:17'
System info: os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.7.0_21'
Driver info: driver.version: InternetExplorerDriver
    at org.openqa.selenium.remote.service.DriverService.start(DriverService.java:165)
    at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:62)
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:527)
    ... 7 more
Caused by: org.openqa.selenium.net.UrlChecker$TimeoutException: Timed out waiting for [http://localhost:38622/status] to be available after 20014 ms
    at org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:104)
    at org.openqa.selenium.remote.service.DriverService.start(DriverService.java:163)
    ... 9 more
Caused by: com.google.common.util.concurrent.UncheckedTimeoutException: java.util.concurrent.TimeoutException
    at com.google.common.util.concurrent.SimpleTimeLimiter.callWithTimeout(SimpleTimeLimiter.java:143)
    at org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:79)
    ... 10 more

【问题讨论】:

    标签: java internet-explorer selenium webdriver


    【解决方案1】:

    我遇到了同样的错误,然后发现了这个问题。就我而言,我的系统上有 64 位版本的 IEDriver.exe,但我使用的是 32 位 Windows 平台。所以这个错误表明操作系统无法执行驱动程序。我试图直接在命令提示符下运行驱动程序,以查看实际上 32 位操作系统没有将 64 位驱动程序 exe 识别为可执行程序。

    获取正确的 32 位 IEDriver.exe 解决了我的问题。

    【讨论】:

      【解决方案2】:

      带有 Chrome 的 Selenium WebDriver,问题:

      (org.openqa.selenium.remote.UnreachableBrowserException) solution
      Exception in thread "main" org.openqa.selenium.remote.UnreachableBrowserException: Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure.
      Build info: version: '2.35.0', revision: '8df0c6b', time: '2013-08-12 15:43:19'
      System info: os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.7.0_40'
      Driver info: driver.version: ChromeDriver
      

      如果您遇到上述问题,请转到chromedriver.exe 位置并尝试执行exe。如果您能够执行 exe,则下面的代码将起作用。否则,这将是 chromedriver 文件夹的权限问题。更改文件夹位置或提供文件夹权限,然后双击 chromedriver.exe。

      解决方案:

        System.setProperty("webdriver.chrome.driver", "C:/Driver/chromedriver.exe");
        System.out.println(System.getProperty("webdriver.chrome.driver"));
      
        WebDriver driver3 = new ChromeDriver();
      

      【讨论】:

      • 感谢您的回复...不幸的是,我发布的问题专门与 IEDriver 相关,而不是 Chrome...
      【解决方案3】:

      转到主机 (C:\Windows\system32\drivers\etc) 并确保你有正确的这一行: 127.0.0.1 本地主机

      【讨论】:

        【解决方案4】:

        在尝试通过 BrowserStack 为移动设备执行 Selenium 脚本时遇到了类似的异常。并且经常发现这个异常被抛出。 最终意识到涉及到虚拟机,模拟器需要时间来启动,从而导致 UnreachableBrowserException

        通过设置重试次数(RetryCount)并多次尝试(retryAttempt)来检查远程 WebDriver 的可用性,编写了以下代码来处理此问题。

        while(retryAttempt<=retryCount){
                    try{
        
                        WebDriver driver = new RemoteWebDriver(new URL(URL), caps);
                        return driver;
                    }
                    catch(UnreachableBrowserException e){
                        Thread.sleep(10000);
                        if(retryAttempt>retryCount){
                            logger.error("Remote Web Driver cannot be reached at this moment");
                        }
                    }
                }
        

        【讨论】:

          【解决方案5】:

          在我看来,您使用了不正确的驱动程序初始化。 尝试我项目中的一段代码:

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

          【讨论】:

          • 啊,抱歉 - 我在代码的前面创建了变量,但忘记将它包含在 sn-p 中。我已经编辑了这个问题以反映这一点。我还复制/粘贴了您的代码,当然修改了驱动程序 exe 的路径,但不行:(谢谢。
          【解决方案6】:

          我有同样的问题。这为我解决了问题:

          DesiredCapabilities capabilitiesIE = DesiredCapabilities.internetExplorer();
          capabilitiesIE.setCapability(
              InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
          WebDriver driver = new InternetExplorerDriver(capabilitiesIE);
          

          【讨论】:

          【解决方案7】:

          如果您遇到此异常,只需下载新的 chrome 驱动程序并在您的项目中提供。而已。为我工作:)

          【讨论】:

            猜你喜欢
            • 2015-05-15
            • 1970-01-01
            • 2014-11-16
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多