繁体   English   中英

如何将HTMLUnit页面呈现给浏览器?

[英]How to render an HTMLUnit page to a browser?

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

正如我了解您的需求,您使用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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM