如何在HtmlUnit中将HtmlPage转换为Html字符串

时间:2013-11-17 07:52:35

标签: java html htmlunit

我想将页面转换为真实的HTML字符串,包含<html><body>等,而不是XML。我只看到asXml()函数,它经常改变结构中的许多东西。

另请注意,我在获取页面后对页面进行了修改,并且我希望这些修改也出现在输出中。

我该怎么做?非常感谢你。

1 个答案:

答案 0 :(得分:1)

那么让我检查一下我是否做对了:

  1. 您抓了一页
  2. 您对页面执行了修改(EG:修改其中的节点)
  3. 您想要一个包含以前修改的有效HTML页面作为字符串
  4. page.asXml()无济于事。这将返回一个有效的XML文件作为String而不是有效的HTML文件。

    page.getWebResponse().getContentAsString()也无济于事。这将返回服务器按原样给出的响应(不做任何修改)。

    没有其他方法可以返回带有有效HTML字符串的字符串。

    但是,您可以尝试使用page.save(file)。这会将修改后的页面页面保存为HTML文件。遗憾的是,我认为没有一种方法可以接收OutputStream,因此您最有可能必须将文件保存到文件系统然后将其恢复。

    您可以查看HTMLUnit源代码,看看该方法是如何实现的。也许添加自己的save方法并不复杂:)