Я пытаюсь показать, где две страницы HTML отличаются. Я пытаюсь выяснить способ, если я могу сравнить исходный код HTML двух веб-страниц (почти похожих) и показать/выделить различия визуально (в пользовательском интерфейсе).
Что я пытался: Я подумал о том, чтобы сделать снимок страницы, а затем использовать Resemble.js для сравнения двух изображений. Но это показывает очень незначительные различия, а результаты - это неясно.
Я подумал о сравнении структуры DOM или исходного кода, а затем покажу, что или где на самом деле две страницы отличаются от UI.
Есть ли способ достичь этого? Я использую Selenium-Webdriver, чтобы получить моментальные снимки и исходный код HTML.
EDIT:
Я думаю, мой вопрос не был ясен. На самом деле, я хотел узнать разницу в содержании HTML для веб-страниц, чтобы в настоящее время проводить тесты A/B. Сначала я захватил источник html в текстовый файл, а затем сравнил его с ранее захваченным источником HTML, используя Java-Diff util. Это дало мне фактические строки, которые отличаются двумя текстовыми файлами с источником HTML.
Теперь проблема заключается в том, как я могу показать эту разницу в пользовательском интерфейсе, как при выделении областей, которые я нашел, различны? Надеюсь, это сделает его более понятным.
В приведенном ниже коде показаны строки, которые отличаются
List<String> original = fileToLines("HTML Source diff/originalSource.txt");
List<String> revised = fileToLines("HTML Source diff/sourceAfterCookieClear.txt");
// Compute diff. Get the Patch object. Patch is the container for computed deltas.
Patch patch = DiffUtils.diff(original, revised);
System.out.println("Printing Deltas\n");
for (Delta delta : patch.getDeltas()) {
String revisedText = delta.getRevised().toString();
String content = revisedText.substring(revisedText.indexOf(" [")+2,revisedText.indexOf("]]"));
writeTextToFile(content,"difference.html");
}
Любые выводы в форме кода будут полезны.