如何在真实浏览器中显示HtmlPage对象(来自HtmlUnit)?

时间:2010-04-29 15:11:34

标签: htmlunit webautomation

我正在使用Htmlunit(浏览器自动化/测试工具)来浏览一系列链接或在页面上执行一系列操作。 在此之后的某个时刻,我想在浏览器中看到生成的页面(Internet Explorer或Firefox等) 我怎样才能做到这一点。 ?谢谢朋友......

4 个答案:

答案 0 :(得分:0)

我希望我能帮到你。

这是我的解决方案:

WebClient wc = new WebClient();

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

//Get page as Html
String htmlBody = page.getWebResponse().getContentAsString();

//Save the response in a file
String filePath = "c:/temp/out.html";
BufferedWriter bw = new BufferedWriter(new FileWriter(new File(filePath)));
bw.write(htmlBody);
bw.close();

//Open the page with a browser
Runtime.getRuntime().exec("C:/Program Files/Internet Explorer/iexplore.exe " + filePath);

希望有所帮助。

答案 1 :(得分:0)

您还可以在执行真实浏览器之前使用htmlPage.save(文件)(自动保存图像)

答案 2 :(得分:0)

我认为这是他的想法

//获取页面为Html
HtmlPage page = wc.getPage(“http://stackoverflow.com/”);

//创建文件对象
文件文件=新文件(“c:// temp // out”);

//保存页面图像
page.save(文件);

答案 3 :(得分:0)

使用HtmlPage.save(File)方法将页面保存到文件后, 您可以使用java.awt.Desktop API在系统上的默认应用程序中打开文件(即,如果文件扩展名为“ .html”,则为网络浏览器)

示例:

HtmlPage page = webClient.getPage("http://example.com/");
File file = File.createTempFile("example", ".html");
page.save(file);
Desktop.getDesktop().open(file);

这可以在任何OS /浏览器上使用。

信用::感谢this answer为启动网络浏览器提供了java.awt.Desktop解决方案的建议。