2

我想使用 Java 库来解析 HTML。

我还希望能够为文本元素获取应用的 css 样式。目前我只想知道字体样式和大小。

样式可以直接应用,也可以从 css 文件应用。我意识到它也可以使用 JavaScript 应用,但我现在不需要这种支持。

目前我正在查看Jsoup,但我没有看到这样的支持。还有其他我可以使用的库吗?如果我不必使用完整的浏览器引擎来获得此功能,那就更好了。

4

1 回答 1

3

CSSParser至少允许解析 CSS 文档并迭代不同的样式规则。在寻找在 java 中寻找 CSS 解析器的问题的答案中,您将找到一个示例用法。

CSSParser 是 W3C 的SAC 的 Java 实现:CSS 的简单 API

SAC 1.0 是 CSS 解析器的标准接口,应该与 CSS1、CSS2、CSS3(目前正在开发中)和其他 CSS 派生语言一起使用。

但这会迫使你在 JSoup 和 CSSParser 之间滚动你自己的实现。在 Java中实现getComputedStyle方法的唯一项目是Lobo Java Browser。不幸的是,自 2009 年起停产,但我认为这不会产生问题。

至少他们提供了这种方法:

public org.lobobrowser.html.style.AbstractCSS2Properties getComputedStyle(java.lang.String pseudoElement)

于 2012-08-06T20:31:51.850 回答