JSoup是否支持getComputedStyle或等效的?

时间:2011-09-09 18:06:12

标签: java html css dom jsoup

JSoup在解析HTML文档时返回的文档树是否支持单个文档元素上的getComputedStyle?

我想要做的是在HTML片段中内联CSS,以便我可以将片段插入到更大的HTML文档中,保留所有格式,但不会弄乱文档中的任何其他格式。

我所做的研究似乎表明我可以通过遍历文档中的所有元素,在每个元素上调用getComputedStyle,并将结果指定为元素的样式来实现此目的。

是的,我意识到通过在单个元素上放置一堆冗余/不必要的样式信息,这可能会很好地破坏最终的HTML,但我愿意为更大的HTML付出代价,尽我所能告诉我,这样嵌入样式是唯一能够完全保留格式,同时使HTML片段完全可移植的方法。 (如果你有另一个建议来实现这个目的,我全都耳朵。: - )

回到主题...如果我不能在JSoup中使用getComputedStyle(或等效的),是否有另一个支持getComputedStyle或等效的Java HTML + CSS解析器?

感谢。

1 个答案:

答案 0 :(得分:0)

那是不可能的。 Jsoup只是一个支持CSS选择器的HTML解析器,它不是HTML渲染器。

您可能需要查看Lobobrowser,这是一个支持JavaScript等基于Java的HTML渲染器。 我不知道也不保证Lobo 支持getComputedStyle()

没有其他工具可以想到。 HtmlUnit接近,因为它也可以访问/调用JavaScript,但some Google results表明getComputedStyle()也不能在HtmlUnit上运行。毕竟它实际上也不是真正的HTML渲染器。