我为htmlunit看到的所有示例都使用 getPage 通过URL从网站检索HTML。

WebClient webClient = new WebClient();
HtmlPage page = webClient.getPage("http://htmlunit.sourceforge.net");

我在字符串变量中持有HTML片段,找不到从变量中为其提供HTML的方法。

我已经尝试过将String强制转换为HtmlPage,但这是行不通的。
HtmlPage page = (HtmlPage) htmlFragment

最佳答案

也许您可以将HTML片段(可能包装在标准html / head / body标签中)写到一个临时文件中,并将其URL用于您的Web客户端。例如(未测试):

File tempFile = File.createTempFile("fragment", "html");
HtmlPage startPage = webClient.getPage(tempFile.toURI().toURL().toString());
tempFile.deleteOnExit();

另外,您也许可以使用假冒的URL以及临时的construct your own HtmlPage WebResponse WebWindow ,但这可能需要大量的黑客操作。

关于java - 将HTML源代码从变量读入HTMLUNIT,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8906075/

10-14 10:51
查看更多