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

时间:2011-10-13 19:51:22

标签: javascript html css dom computed-style

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

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

也许我可以对页面的每个元素进行javascript迭代,询问每个css设置以及每个子DOM元素。但我认为这需要很长时间,并且会导致生成的DOM变得更加难以比较。

任何想法?谢谢!

2 个答案:

答案 0 :(得分:1)

对于Firefox,XmlSerializer是您的朋友。

答案 1 :(得分:0)

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

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

Need to compare 2 html documents using Java & selenium

我确信这不是你希望的优雅方式,但我希望这会让你开始