Selenium java静音模式

时间:2015-08-28 14:06:26

标签: java selenium

我需要使用Selenium每天解析几千页。

一切正常,但每个页面解析都需要重新打开浏览器,这需要时间。

你知道如何在java中以静默模式启用Selenium来加速解析吗?

谢谢

2 个答案:

答案 0 :(得分:2)

如果您担心打开一千个浏览器的速度,可以切换到使用HtmlUnitDriver类作为WebDriver,因为它是无头的并且花费的时间少得多关闭比完整的浏览器实例。

编辑:我假设您需要关闭浏览器才能重置会话状态?如果是这样,那么您可以通过构造代码来彻底破坏会话,而不是完全关闭浏览器,从而可行地克服这一要求。如果你的会话是由cookie维护的,那么你可以这样做:

driver.manage().deleteAllCookies(); // or
driver.manage().deleteCookieNamed("JSESSIONID"); // if using J2EE, for example

如果您不需要关闭浏览器,那么为什么不重复使用相同的WebDriver

答案 1 :(得分:1)

不要为每个页面打开一个新浏览器?只需为所有页面重用当前的浏览器实例。

FirefoxDriver driver = new FirefoxDriver();
List<String> urls = new ArrayList<>();
// load the urls List
for (String url : urls)
{
    driver.get(url);
    // do stuff to page
}

我制作了一些List&lt;&gt;存储数组。显然,您可以使用存储您需要处理的URL的任何数据类型替换它,并循环使用这些数据。