0

我正在使用 HTMLUnit 进行网站抓取。我在浏览器中显示 Html 页面时遇到问题。这意味着当我在网站上抓取网站添加新页面时。所以我需要通过我的 HTMLUnit 应用程序将该页面显示给浏览器。那么如何将 HTMLUnit 页面呈现给浏览器呢?

4

1 回答 1

2

据我了解您的需求,您使用 HtmlUnit 加载页面,并希望在对呈现的代码进行一些操作后在浏览器中显示它。

一般来说,渲染页面需要时间,并且我看到了一些我不喜欢的睡眠解决方案。

有两种方法:

  1. page.asText() - 显示渲染文本
  2. page.asXml() - 在渲染前显示文本

但这两个功能都不是您想要的。

一个奇怪但仍然有效的解决方案是保存呈现的页面,然后用浏览器加载它:

// Get page as Html
HtmlPage page = wc.getPage("http://stackoverflow.com/");

// Generate random file in temp directory
File file = File.createTempFile("HtmlUnit", ".html");
file.delete(); // Delete is needed, because page.save can't overwrite it

//save page image
page.save(file);

//Open the page with a browser
Runtime.getRuntime().exec("C:/Program Files/Internet Explorer/iexplore.exe " + file);
于 2013-06-16T18:30:56.077 回答