远程WebDriver UnreachableBrowserException:无法启动新会话

时间:2018-03-26 13:30:43

标签: selenium-webdriver webdriver selenium-grid remotewebdriver

我为所有浏览器都有这个例外。例如,我在chrome上创建一个远程webdriver,如下所示:

caps = DesiredCapabilities.chrome();
ChromeOptions options = new ChromeOptions();
options.addArguments("disable-infobars");
caps.setCapability(ChromeOptions.CAPABILITY, options);
webDriver = new RemoteWebDriver(new URL("http://myIP:5555/wd/hub"), caps);

我得到了UnreachableBrowserException,如下所示:

org.openqa.selenium.remote.DesiredCapabilities chrome
INFO: Using `new ChromeOptions()` is preferred to `DesiredCapabilities.chrome()`

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.

但是我在http://myIP:4444/grid/console检查了我的selenium hub,一切都很好,节点已经注册了。然后我在http://myIP:5555/wd/hub/static/resource/hub.html检查我的节点,我仍然可以点击“创建会话”为所有浏览器创建一个会话。

我今天刚刚遇到这个例外,它几天前仍然有效。我使用的是Selenium 3.11.0,IntelliJ 2017.3,所有驱动程序和浏览器都是最新版本。

我在这里搜索了一下,但是当我的网格还在运行时,我无法找到解决方案。任何帮助非常感谢。

1 个答案:

答案 0 :(得分:2)

错误说明了一切:

INFO: Using `new ChromeOptions()` is preferred to `DesiredCapabilities.chrome()`

调用 RemoteWebDriver Selenium 的当前实现支持ChromeOptions,您可以使用以下代码块:

ChromeOptions options = new ChromeOptions();
options.addArguments("disable-infobars");
webDriver = new RemoteWebDriver(new URL("http://myIP:5555/wd/hub"), options);

更新

根据您的评论更新,seleniumhq-documentation上的文档尚未更新。以下是Selenium Release Notes

中的相关字节
  • Selenium v​​3.5.0

    * Start making *Option classes instances of Capabilities. This allows
      the user to do:
      `WebDriver driver = new RemoteWebDriver(new InternetExplorerOptions());`
    
  • Selenium v​​3.6.0

    * All `*Option` classes now extend `MutableCapbilities`
      `new RemoteWebDriver(new ChromeOptions());`
    
  • Selenium v​​3.7.0

    * Migrated from using `DesiredCapabilities` to either
      `MutableCapabilities` or (preferably) `ImmutableCapabilities`.