使用HtmlUnit加快页面处理速度

时间:2013-05-20 07:20:15

标签: java htmlunit

到目前为止,我的工作代码使用HtmlUnit来获取页面asXML

然而,我发现它正在处理页面上的所有内容,包括shockwave flash对象。这使得处理速度变慢。

我只需要它来处理纯HTML和Javascript,这样它会更快。

这是我的代码:

        HtmlPage page = webClient.getPage(sb.toString());
        webClient.getJavaScriptEngine().pumpEventLoop(PUMP_TIME);
        pageString = page.asXml();

page.asXml()很慢,也许是因为我上面提到的要点?

有没有办法告诉HtmlUnit不要处理页面的不必要部分?

这是我看到页面处理停留了很长时间(很多次)的地方:

[INFO] SEVERE: runtimeError: message=[Automation server can't create object for 'ShockwaveFlash.ShockwaveFlash'.] sourceName=[http://partner.googleadservices.com/gampad/google_ads_gpt.js] line=[9] lineSource=[null] lineOffset=[0]
  • HtmlUnit也会在内存中加载css和图像吗?

1 个答案:

答案 0 :(得分:0)

HtmlUnit无法处理flash。但是,确实需要花费大量时间来处理JS。也许JS正在从网上获取一些东西,这也花费了更多的时间。无论如何,请注意,日志实际上是INFO而不是SEVERE,基本上它告诉您它没有创建任何Flash对象。

如果可能的话,我建议你避免处理JS。