我正在考虑将 JSDom 用于需要抓取网站的项目。
我首先尝试了一个亚马逊页面。这是一个示例代码:
jsdom.env(url, ["http://code.jquery.com/jquery.js"], function(errors, window) {
console.log(errors);
var $ = window.$,
results = parseResultsPage($);
//do some stuff
window.close();
});
起初,我有一个if(errors.length > 0) ...
从句,但事实证明,errors
总是满的。即使刮擦本身有效,并且我得到了我需要的所有结果,我总是得到:
[ { type: 'error',
message: 'Dispatching event \'DOMNodeInsertedIntoDocument\' failed',
data: { error: [Object], event: [Object] } } ]
这意味着我无法有效地测试错误。简单地忽略这个错误对我来说是不安全的。
有什么建议么?这可能是与亚马逊相关的问题吗?(他们在他们的页面上使用 jQuery 1.2.6)
更新:
在 JSDom github 页面(链接)上提交了问题。