【问题标题】:Is there an HTML browser rendering engine for Ruby?是否有用于 Ruby 的 HTML 浏览器渲染引擎?
【发布时间】:2011-01-09 23:28:29
【问题描述】:

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

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

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

【问题讨论】:

    标签: html ruby rendering


    【解决方案1】:

    试试这个:

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

    或phantomjs(但这个是javascript)

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        【讨论】:

        • 看起来不错,但似乎是一个“不透明”小部件,即它不提供渲染元素信息。如何获得 div 的宽度/位置或一段文本的字体大小?
        • 我其实不知道。那部分绑定可能还没有完成。
        猜你喜欢
        • 2018-02-20
        • 2010-12-21
        • 2012-01-02
        • 2014-10-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-08
        • 1970-01-01
        相关资源
        最近更新 更多