我在htmlunit上看到的所有示例都是使用 getPage 通过网址从网站检索HTML。
WebClient webClient = new WebClient();
HtmlPage page = webClient.getPage("http://htmlunit.sourceforge.net");
我在字符串变量中持有HTML片段,但无法找到从变量中为其提供HTML的方法。
我已经尝试将String转换为HtmlPage,但这不起作用。
HtmlPage page = (HtmlPage) htmlFragment
答案 0 :(得分:3)
也许您可以将HTML片段(可能包含在标准的html / head / body标签中)写入临时文件,并将其URL用于您的Web客户端。例如(未经测试):
File tempFile = File.createTempFile("fragment", "html");
HtmlPage startPage = webClient.getPage(tempFile.toURI().toURL().toString());
tempFile.deleteOnExit();
或者,您可以construct your own HtmlPage
使用虚假网址和临时WebResponse
以及WebWindow
,但这可能需要大量黑客攻击。