我想要给定 HtmlPage 对象的整个 HTML。
我应该使用什么属性?
在 HtmlUnit 中,anHtmlPage
实现了Page
接口;这意味着您可以使用Page#getWebResponse()
获取返回的整个 Web 响应来生成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();
}
最快的方法是HtmlPage.asXml
——它可能并不完美,例如,它可能与您在普通浏览器中执行“查看源代码”时看到的不完全匹配,但我发现它对开发和调试 HtmlUnit 代码。