【问题标题】:how to get a serialization of a browsers rendering tree (in C#)如何获取浏览器渲染树的序列化(在 C# 中)
【发布时间】:2011-11-08 18:36:23
【问题描述】:

我需要一种方法来分析网页及其所有布局相关信息(HTML + 相关 CSS)。 为此,DOM 树是不够的,所以我认为最好的解决方案是分析浏览器渲染树(又名帧树)。

谁能帮助我,我怎么可能得到渲染树的序列化?

我想做的分析是,如果用户界面上任何可见的东西发生了变化,我就会得到答案。 渲染树(如我所读)是从 DOM 树中提取出来的浏览器内部树,用于渲染页面。所以不可见的 DOM 元素不是渲染树的一部分。 希望这能让我的问题更清楚......

【问题讨论】:

  • faq——你的问题很不清楚也太宽泛了。
  • 我不知道你读过什么,但即使所有浏览器都有这样的东西,我听说过没有标准表明所有浏览器都必须公开它,当然不是以任何标准方式。
  • 它是浏览器内部的,而不是标准,我知道。我在以下页面上阅读了有关渲染树的信息:taligarsiel.com/Projects/… - 该页面说每个浏览器都需要这样的东西。我需要的是仅在一个浏览器中访问渲染树。所以,任何方式都可以......

标签: c# html css dom browser


【解决方案1】:

有一个名为 DumpRenderTree 的工具,它附带了 WebKit 的源代码(chrome 以及它基于 WebKit)。

此工具将网页的渲染树转储到控制台上。您可以查看它的源代码(主要是 C/C++)并从 C# 调用它,也可以解析控制台的输出。

这里是可能有帮助的代码:https://github.com/WebKit/webkit/tree/master/Tools/DumpRenderTree

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-13
    • 2021-11-03
    • 2013-08-07
    • 2015-10-23
    • 2013-10-11
    • 1970-01-01
    • 2011-12-17
    • 1970-01-01
    相关资源
    最近更新 更多