我想将页面转换为真正的 HTML 字符串,其中 <html>
, <body>
等等...,而不是 XML。我只看到asXml()
函数,它经常改变结构中的许多东西。
另请注意,我在获取页面后对其进行了修改,并且我希望这些修改也出现在输出中。
我怎样才能做到这一点?非常感谢。
所以让我检查一下我是否正确:
- 您提取了一个页面
- 您对页面进行了修改(例如:修改其中的节点)
- 您需要一个有效的 HTML 页面,其中包含以前的修改(作为字符串)
page.asXml()
不会有帮助。这将以字符串形式返回有效的 XML 文件,而不是有效的 HTML 文件。
page.getWebResponse().getContentAsString()
也无济于事。这将返回服务器给您的响应(不进行任何修改)。
没有其他方法可以返回包含有效 HTML 字符串的字符串。
但是,您可以尝试使用page.save(file)
。这会将修改后的页面保存为 HTML 文件。遗憾的是,我认为没有一种方法可以接收 OutputStream
,因此您很可能必须将文件保存到文件系统,然后将其取回。
也许,您可以查看 HTMLUnit 源代码并了解该方法是如何实现的。也许添加您自己的 save
方法并不那么复杂:)
我是一名优秀的程序员,十分优秀!