我想要给定HtmlPage对象的整个HTML。
我应该使用什么属性?
答案 0 :(得分:3)
在HtmlUnit中,HtmlPage
实现了Page
接口;这意味着您可以使用Page#getWebResponse()
来恢复整个网络响应,以生成HtmlPage
,从那里可以轻松(WebResponse#getContentAsString()
)。这是一种做你想要的方法......
public String getRawPageText(WebClient client, String url)
throws FailingHttpStatusCodeException, MalformedURLException, IOException {
HtmlPage page = client.getPage(url);
return page.getWebResponse().getContentAsString();
}
或者,使用您已经提取的HtmlPage
对象:
public String getRawPageText(HtmlPage page) {
return page.getWebResponse().getContentAsString();
}
答案 1 :(得分:1)
执行此操作的最快方法是HtmlPage.asXml
- 它可能不完美,因为它可能与您在普通浏览器中执行“查看源代码”时所看到的完全匹配,但我'我发现它对开发和调试HtmlUnit代码非常有帮助。