0

到目前为止,我有一个HtmlUnit用于获取页面的工作代码asXML

但是,我发现它正在处理页面上的所有内容,包括冲击波闪光对象。这使得处理缓慢。

我只需要它来处理纯 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 和图像?
4

1 回答 1

0

HtmlUnit 无法处理闪存。不过,处理 JS 确实需要很多时间。可能,JS 正在从网上获取一些东西,这也需要更多时间。无论如何,请注意日志实际上是一个INFO而不是一个SEVERE,基本上它告诉你它没有创建任何闪存对象。

如果可能,我建议您避免处理 JS。

于 2013-05-20T16:47:43.693 回答