我为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/