尝试使用包含一张图片的htmlunit
访问servlet页面
我需要保存图像或需要将servlet页面保存到html页面。
现在正在使用
(UnexpectedPage) webClient.getPage(new URL("https://www.xxxx.com/servlet/xxxSer")
WebResponse response = currentPage.getWebResponse();
response.getContentType();
之后我不知道该怎么办。有没有想过要做这个工作。
提前致谢。
答案 0 :(得分:4)
您需要获取WebResponse
的文本内容(您也不需要URL
对象):
Page page = webClient.getPage("https://www.xxxx.com/servlet/xxxSer");
String content = page.getWebResponse().getContentAsString();
关于图像,你应该更清楚你是如何得到它的。如果是IMG
标记中引用的图片,请使用HtmlPage
和HtmlImage
。如果您直接请求图片,可能应使用page.getWebResponse().getContentAsStream()
答案 1 :(得分:2)
试试此代码
HtmlPage htmlpage = webClient.getPage(new URL("https://www.xxxx.com/servlet/xxxSer"));
String htmlcode = htmlpage.getWebResponse().getContentAsString();
最佳
答案 2 :(得分:0)
问题在于HTML单元无法转换不完整的HTML页面(例如,一些关闭标签)。因此,我可以使用HTMLUnit软件包中包含的HTMLParser解决此错误(我使用的是2.36.0v)。 HTMLParser完成并处理这种类型的转换错误。如果您需要执行JS,则HtmlPage可以工作。
//Web client creation.
Page page = webClient.getPage(url);
HtmlPage tmpPage = HTMLParser.parseHtml(page.getWebResponse(), webClient.getCurrentWindow());
// use tmpPage here