【问题标题】:Howto extract a complete DOM Tree out of an HTML Page如何从 HTML 页面中提取完整的 DOM 树
【发布时间】:2011-10-14 09:52:46
【问题描述】:

我必须比较两个网页并分析它们之间是否有任何区别。 问题是:我需要包含每个 DOM 元素(也是通过 javascript 动态添加的元素),并且我需要包含所有应用的 CSS 设置(又名计算样式)。

例如:如果定义了 CSS :hover 设置,当鼠标悬停在元素上时,我需要得到不同的结果,而不是在元素上时。

也许我可以对页面的每个元素进行 javascript 迭代,询问每个 css 设置和每个子 DOM 元素。但我认为这会花费很长时间,并且会破坏生成的 DOM 并使其更难以比较。

有什么想法吗??谢谢!!

【问题讨论】:

    标签: javascript html css dom computed-style


    【解决方案1】:

    对于 Firefox,XmlSerializer 是您的朋友。

    【讨论】:

    • 看起来不错 - 但这里计算的样式不是序列化的一部分!?
    【解决方案2】:

    我会检查硒。有一个命令 selenium.getHtmlSource();您可以在 javascript 函数发生后调用它。快速浏览后我发现了这个

    http://davidlaing.com/2008/12/29/selenium-gotcha-seleniumgethtmlsource-returns-processed-html/

    Need to compare 2 html documents using Java & selenium

    我确定这不是您所希望的优雅方式,但我希望这能让您开始

    【讨论】:

    • getHtmlSource() 为您获取原始 HTML,而不是动态修改的当前页面。正如 DavidLaing.com 文章所说,有一些非常小的改动,但没什么大不了的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-14
    • 1970-01-01
    • 1970-01-01
    • 2016-02-07
    • 2011-06-04
    相关资源
    最近更新 更多