6

我有一个案例,我向服务器发送请求并记录响应。然后我制作请求并将其再次发送到服务器,并将响应与之前记录的响应进行比较。

我正在使用 node.js,我想知道是否有任何最佳例程来比较 node.js 中的 HTML 响应,它可以直接指出两种 HTML 响应的差异。

4

2 回答 2

3

您可以使用jsdomdom-compare的组合:

var compare = require('dom-compare').compare,
    jsdom = require('jsdom');

// Those are the HTML fragments that we want to compare:
var expectedHTML = '<div><i>m</i><b>q</b></div>';
var actualHTML = '<div><i>h</div>';

var expectedDOM = jsdom.jsdom(expectedHTML);
var actualDOM = jsdom.jsdom(actualHTML);
var result = compare(expectedDOM, actualDOM);

console.log('diff array:', result.getDifferences());

// we can use a reporter to pretty-print the result:
var reporter = require('dom-compare').GroupingReporter;
console.log(reporter.report(result));
于 2014-09-24T22:36:14.617 回答
3

看看jsdiff,它可以在几个不同的级别(字符、单词、行)向您返回两段文本或 HTML 之间的差异。

于 2013-06-12T11:45:48.193 回答