我为所有浏览器都有这个例外。例如,我在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,所有驱动程序和浏览器都是最新版本。
我在这里搜索了一下,但是当我的网格还在运行时,我无法找到解决方案。任何帮助非常感谢。
答案 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 v3.5.0 :
* Start making *Option classes instances of Capabilities. This allows
the user to do:
`WebDriver driver = new RemoteWebDriver(new InternetExplorerOptions());`
Selenium v3.6.0 :
* All `*Option` classes now extend `MutableCapbilities`
`new RemoteWebDriver(new ChromeOptions());`
Selenium v3.7.0 :
* Migrated from using `DesiredCapabilities` to either
`MutableCapabilities` or (preferably) `ImmutableCapabilities`.