2013-06-12 87 views
5

我有一種情況,我向服務器發送請求並記錄響應。然後,我製作請求並將其發送到服務器一次,並將響應與早期記錄的響應進行比較。使用節點js比較html響應

我正在使用node.js,我想知道是否有任何最佳例程來比較node.js中的HTML響應,這可以直接指出兩個HTML響應中的差異。

回答

3

看看jsdiff,它可以在幾個不同的級別(字符,單詞,行)返回兩段文本或HTML之間的差異。

1

您可以使用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));