我正在使用 HtmlUnit 从网站读取内容。
一切都很完美,我正在阅读内容:
HtmlDivision div = page.getHtmlElementById("my-id");
偶数div.asText()
返回预期的 String 对象,但我想获取 <div>...</div>
内的原始 HTML作为字符串对象。我怎样才能做到这一点?
我不愿意改变HtlmUnit
到其他东西,因为网站期望客户端运行 JavaScript,并且 HtmlUnit
似乎有能力完成所需的工作。
最佳答案
如果原始 HTML 指的是 HTMLUnit 已经格式化的 HTML 代码,那么您可以使用 div.asXml()
。现在,如果您确实正在寻找服务器发送给您的原始 HTML,那么您将找不到方法(至少在 v2.14 之前)。
现在,作为解决方法,您可以获得服务器发送给您的页面的完整文本以及以下答案: How to get the pure raw HTML of a page in HTMLUnit while ignoring JavaScript and CSS?
顺便说一句,您可能应该三思而行为什么需要 HTML 代码。 HTMLUnit 将允许您从代码中获取数据,因此不需要存储源代码,而是存储其中包含的信息。只是我的 2 美分。
关于javascript - 获取 HtmlUnit HtmlElement 中的原始 HTML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23518671/