使用节点js比较html响应

我有一个情况,我发送请求到服务器并logging响应。 然后,我制作请求并将其发送到服务器一次,并将响应与先前logging的响应进行比较。

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

看看jsdiff ,它可以返回给你两个文本之间的区别,或者在你的情况下,在几个不同的层次(字符,单词,行)的HTML。

你可以使用jsdom和dom-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));