我有带有 css 的 html,我想检查 html 文档中指定文本的真实颜色(和其他可视文本属性)是什么。我可以用 JSoup 做到这一点,还是必须寻找一些真正的 html 引擎/处理器?处理此操作的速度是主要因素之一。
5 回答
我认为他想在 Java 程序中检索这些数据。所以你需要做的事情很少。
- 下载样式表文件。
- 解析 html 并找到类属性。
- 将 css 中的 .class 与 html 属性匹配并找到您想要的特定信息。
但要注意,如果您想查找有关任何没有类属性的 html 元素的信息。在这种情况下,您需要找到 html 元素的 xpath,例如:
<table class="entityTable">
<tr>
<td> <input type="text" value="abcdef" /></td>
</tr>
然后你需要找到像这样的xpath:body/div/.../table/tr/td/input,你需要匹配任何可以影响你的输入标签属性的css规则。
.entityTable tr td input
{
color:red;
}
这要困难得多,因此如果要解析的 html 是您的页面,则将无处不在的类属性放入您的 html 标记中。否则,您需要找到将 html 标签匹配到 css 规则的方法。
干杯。
尽管它仍处于测试阶段,但Cobra HTML 解析器具有此功能。
CSSBox is definitely what you want. It allow you to load external css and transform it in inline style for every dom element.
If you're doing this in an applet, you can use javascript to collect the information, and pass it to your applet.
如果您需要了解网页中对象的准确信息,
例如标准 HTML 表格的默认边框或标准链接的颜色,
请使用 FireFox 的 FireBug 扩展。