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

Remote WebDriver UnreachableBrowserException: Could not start a new session

我在所有浏览器上都遇到了这个异常。例如,我在 chrome 上创建一个远程网络驱动程序,如下所示:

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 检查我的节点,我仍然可以单击 "Create Session" 为所有浏览器创建一个会话。

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

我在这里用谷歌搜索,但在我的腰带仍然 运行 时找不到解决方案。非常感谢任何帮助。

错误说明了一切:

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

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

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

更新

根据您的评论更新文档 seleniumhq-documentation is yet to be updated. Here are the relevant bytes from the 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`.