selenium-webdriver - 无法开始新会话。可能的原因是远程服务器地址无效或浏览器启动失败。
问题描述
我正在尝试使用 Selenium Grid 运行一个简单的程序(没有硒网格的先验知识),并且出现如下所示的错误:
线程“主”org.openqa.selenium.remote.UnreachableBrowserException 中的异常:无法启动新会话。可能的原因是远程服务器地址无效或浏览器启动失败。构建信息:版本:'未知',修订:'未知',时间:'未知'系统信息:主机:'DEL1-LTC1X3PH2',ip:'192.168.0.101',os.name:'Windows 10',操作系统。拱:'amd64',os.version:'10.0',java.version:'1.8.0_171' 驱动程序信息:driver.version:RemoteWebDriver
下面是我的示例代码:
String URL = "http://www.DemoQA.com";
String Node = "http://192.168.1.164:4444/wd/hub";
DesiredCapabilities cap = DesiredCapabilities.chrome();
cap.setBrowserName("firefox");
//cap.setPlatform(Platform.WIN10);
driver = new RemoteWebDriver(new URL(Node), cap);
driver.navigate().to(URL);
Thread.sleep(5000);
driver.quit();
有人可以解释为什么会出现这个错误,以及我可以从哪里了解更多关于硒网格的任何参考。
解决方案
出现此错误的原因是您在提供的 URL 上没有使用集线器运行 Selenium Grid。您需要自己启动网格,Selenium 不会像启动单个会话那样为您启动它。您可以使用docker
和使用此处docker-compose
的说明启动您的网格。
您可以在此处找到有关 Selenium Grid 的更多信息。
此外,而不是使用
DesiredCapabilities cap = DesiredCapabilities.chrome();
cap.setBrowserName("firefox");
您可以浓缩为一行并使用
DesiredCapabilities cap = DesiredCapabilities.firefox();
设置您的DesiredCapabilities
.