Как сравнить два DOM или DOM-узлы в целом? - PullRequest
7 голосов
/ 14 декабря 2010

Я использую var win1 = open.window(...); var win2 = open.window(...);, чтобы открыть 2 вкладки / окна в Firefox - теперь я хочу сравнить две модели DOM (объектные модели документов) на предмет сходства.Итак, у меня есть два DOM с очень похожей страницей.Страницы имеют одинаковый HTML, но выполняются разные файлы JavaScript.

В общем, я проверяю, совпадают ли HTML и CSS:

    var html1 = win1.document.body.innerHTML;
var html2 = win2.document.body.innerHTML;
if (html1 == html2) { ... }
var css1 = win1.document.body.style.cssText
var css2 = win2.document.body.style.cssText
if (css1 == css2) { ... }

Но сравнение всех узлов DOM, похоже, дает плохие результаты:

var bodyNodes1 = win1.document.body.getElementsByTagName('*');
var bodyNodes2 = win2.document.body.getElementsByTagName('*');

bodyNodes1[123].innerHTML не обязательно аналогично bodyNodes2[123].innerHTML

Какие методы можно использовать для сравнения узлов DOM?Существуют ли какие-либо фреймворки / библиотеки / скрипты для тестирования страниц на сходство?

Я очень благодарен за любые подсказки.: -)

1 Ответ

7 голосов
/ 15 февраля 2011

Я думаю, что вы ищете:

isEqualNode: http://help.dottoro.com/ljlpvjmd.php
isSameNode: http://help.dottoro.com/ljqqqfft.php

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...