Javascript 如何从HTML页面中提取完整的DOM树

Javascript 如何从HTML页面中提取完整的DOM树,javascript,html,css,dom,computed-style,Javascript,Html,Css,Dom,Computed Style,我必须比较两个网页,并分析它们之间是否有任何差异。 问题是:我需要包括每个DOM元素(也包括通过javascript动态添加的元素),并且需要包括所有应用的CSS设置(也称为.computed样式) 例如:如果定义了CSS:hover设置,则当鼠标位于元素上方时,我需要得到与未位于元素上方时不同的结果 也许我可以对页面的每个元素进行javascript迭代,询问每个css设置和每个子DOM元素。但我认为这需要很长时间,并且会破坏结果DOM,使其更难以比较 有什么想法吗??谢谢 我想看看硒。有一个

我必须比较两个网页,并分析它们之间是否有任何差异。 问题是:我需要包括每个DOM元素(也包括通过javascript动态添加的元素),并且需要包括所有应用的CSS设置(也称为.computed样式)

例如:如果定义了CSS
:hover
设置,则当鼠标位于元素上方时,我需要得到与未位于元素上方时不同的结果

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


有什么想法吗??谢谢

我想看看硒。有一个命令selenium.getHtmlSource();您可以在javascript函数出现后调用它。快速看了一眼,我发现了这个


我相信这不是您所希望的优雅方式,但我希望这会让您开始使用Firefox,是您的朋友。

getHtmlSource()为您提供原始HTML,而不是动态修改的当前页面。正如DavidLaing.com的文章所说,有一些非常小的改动,但没有什么意义。看起来不错,但这里的计算样式不是序列化的一部分!?