PhantomJS 中的 UnreachableBrowserException

UnreachableBrowserException in PhantomJS

提问人:Oreliya Fernando 提问时间:3/9/2016 最后编辑:Artjom B.Oreliya Fernando 更新时间:11/25/2016 访问量:363

问:

我正在使用 Selenium Webdriver 和 PhantomJS 版本 2.0.0

我收到“org.openqa.selenium.remote.UnreachableBrowserException:与远程浏览器通信时出错。它可能已经死了。

下面是我类的示例代码。

rateMaintenancePg   =   createRatePg.closeGuideRatesUI();
Sleep(6);
getscreenshot();
Sleep(6);
System.out.println("Closed Create Rate UI.");
Sleep(3);
driver.switchTo().defaultContent();
driver.switchTo().frame("main");
driver.switchTo().frame("frmTabmenu_spnTabMenus_0");
Sleep(3);
System.out.println("Go to iframe frmTabmenu_spnTabMenus_0");
homePg  =   rateMaintenancePg.closeRateMaintenanceUI();
Sleep(3);
getscreenshot();
Sleep(3);
driver.navigate().refresh();
Sleep(4);

我在这一行中收到此错误:

driver.switchTo().defaultContent();
java selenium-webdriver phantomjs

评论

0赞 404 Not Found 3/9/2016
运行以下命令,终止所有正在运行的 IEDriverServer.exe 进程(如果有)
0赞 Oreliya Fernando 3/9/2016
我试过那种方式。但这个错误仍然存在。这在Firefox驱动程序中工作正常。
0赞 MikeJRamsey56 3/10/2016
在上述之前是什么?驱动程序是否有可能在上一步中失败?在 defaultContext() 语句之前,插入 System.out.println(driver.getCurrentUrl()); 时会发生什么?
0赞 Oreliya Fernando 3/10/2016
是的,我在 defaultContent() 之前添加了语句“System.out.println(driver.getCurrentUrl());”,我的控制台打印了此信息。2016 年 3 月 10 日凌晨 2:18:12 org.apache.http.impl.client.DefaultHttpClient tryExecute INFO:处理对 {}->localhost:26956 的请求时捕获 I/O 异常 (java.net.SocketException):连接重置 2016 年 3 月 10 日凌晨 2:18:12 org.apache.http.impl.client.DefaultHttpClient tryExecute INFO:重试对 {}->localhost:26956 的请求
0赞 Oreliya Fernando 3/10/2016
此外,此信息多次出现在我的日志文件中。[信息 - 2016-03-10T05:13:21.702Z]SessionManagerReqHand - _cleanupWindowlessSessions - 异步会话清理阶段从现在开始

答:

1赞 Oreliya Fernando 11/25/2016 #1

当您打开多个 PhantomJs 驱动程序对象时,会发生这种情况。 解决方案是,在启动测试套件之前,您必须杀死机器中所有正在运行的 PhantomJs 驱动程序。