我正在使用HTMLUnit进行网站抓取。我在浏览器中显示Html页面时遇到问题。这意味着当我在网站上抓取网站时添加新页面。所以我需要通过我的HTMLUnit应用程序将该页面显示给浏览器。那么如何将HTMLUnit页面呈现给浏览器呢?
答案 0 :(得分:2)
正如我了解您的需求,您使用HtmlUnit加载页面,并希望在对渲染代码进行一些操作后在浏览器中显示它。
一般来说,渲染页面需要时间,我看到了一些我不喜欢的睡眠解决方案。
有两种方法:
但这两个功能都不是你想要的。
一个奇怪但仍然有效的解决方案是保存渲染页面,而不是使用浏览器加载它:
// 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);