我正在创建PhantomJSDriver的几个实例,并可以向网站发出请求并获取我想要的数据。每一个实例通过催生了以下内容:PhantomJS过程不会退出
WebDriver driver = BrowserUtils.getInstance().getBrowser();
当我做我试图做到以下几点:
driver.close();
driver.quit();
driver = null;
不过,如果我打开第二个终端,运行
[email protected]:~/logs$ ps -e | grep phantom
4472 pts/2 00:00:41 phantomjs
4524 pts/2 00:00:32 phantomjs
4787 pts/2 00:00:18 phantomjs
4808 pts/2 00:00:19 phantomjs
他们只是坐在那里。他们永远不会离开。想法?
编辑1:增加了一些更多的代码澄清
WebDriver driver = BrowserUtils.getInstance().getBrowser();
try {
driver.manage().timeouts().pageLoadTimeout(5, TimeUnit.MINUTES);
driver.manage().timeouts().implicitlyWait(1, TimeUnit.MINUTES);
driver.get("https://my-web-site.com/");
// Do lots of things
} catch (Exception e) {
logger.log(e);
} finally {
BrowserUtils.getInstance().reset();
driver.close();
driver.quit();
driver = null;
}
理想情况下任何关闭或退出方法应该工作。你之前有过一些未公开的版本吗? – nEO
可能的'driver.quit()'从未被调用,因为测试失败或类似的东西。不管测试发生了什么,你是否确定它被调用? – Saifur
我在try/catch/finally里面有这个,所以无论发生什么事情都叫它。 –