是否有适用于Ruby的HTML浏览器呈现引擎?

时间:2010-01-27 13:52:23

标签: html ruby rendering

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

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

在Java中,Cobra是一个Java Web渲染器,它能够为每个片段呈现网页和查询宽度,字体大小等属性。我可以使用Cobra和JRuby或类似的解决方案,但更喜欢Ruby原生工具。 Ruby有这样的库吗?

3 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

Selenium确实提供了用于查询DOM信息的API,我相信有一个针对Selenium的Ruby绑定。它的主要优势,也是它的弱点,它确实需要一个真正的浏览器来呈现元素;这意味着数据在浏览器中是准确的,但也会很重。

答案 2 :(得分:0)

试试这个:

https://github.com/geoffyoungs/gtk-webkit-ruby

或phantomjs(但这个是javascript)