Ruby是否有用于HTML浏览器渲染的引擎?

4
给定一个URL,我希望能够渲染返回的HTML,以了解每个div的宽度和高度,每个文本段落的字体大小,每个元素的颜色,每个元素在屏幕上的位置等。

可能的方法是使用Hpricot遍历DOM树,并通过解析关联的样式表(使用css_parser gem)来检查CSS样式。但这不考虑默认样式,继承,浮动等。

在Java中有Cobra,一个Java Web Renderer,它能够呈现网页并查询每个片段的属性,如宽度,字体大小等。我可以使用JRuby或类似的解决方案来使用Cobra,但更喜欢Ruby本地工具。是否有类似于Ruby的库?

3个回答

2

{{link1:RbWebKitGTK}}


看起来不错,但似乎是一个“不透明”的小部件,即它不提供渲染元素信息。我该如何使用它获取div的宽度/位置或文本片段的字体大小? - Jose
我其实不知道。绑定的那部分可能还不完整。 - Ignacio Vazquez-Abrams

1
Selenium确实提供了一个用于查询DOM信息的API,我相信还有一个针对Selenium的Ruby绑定。它的主要优点,也是它的缺点,就是需要真正的浏览器来呈现元素;这意味着数据将与浏览器一致,但也意味着它会非常沉重。

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接