Node.js 获得;调度事件';DOMNODEINSERTEdinoDocument';“失败”;使用jsdom时出错

Node.js 获得;调度事件';DOMNODEINSERTEdinoDocument';“失败”;使用jsdom时出错,node.js,web-scraping,jsdom,Node.js,Web Scraping,Jsdom,我正在考虑将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

我正在考虑将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页面()上的问题。

好吧,在使用节点检查器进行调试会话之后,我设法在Amazon页面上挑出引发该错误的代码片段。 这是一个长内联
元素中的CSS规则,JSDom不知道如何处理:

<style type="text/css">
...
.cust-rec-aui-button @-moz-document url-prefix(){
    .cust-rec-aui-button .a-button .a-button-text{
        line-height:29px
    }

    .cust-rec-aui-button .a-button.a-button-small .a-button-text{
        line-height:21px
    }

}
...
</style>

...
.cust rec aui按钮@-moz文档url-前缀(){
.cust rec aui button.a-button.a-button-text{
线高:29px
}
.cust rec aui button.a-button.a-button-small.a-button-text{
线高:21px
}
}
...
起初,我认为这是一个CSS语法错误(虽然JSDom不应该为这些错误抛出异常),但后来我发现一些来源()说这是完全合法的


因此,在与JSDom的开发人员协商之后(为了获得完整的通信,以及再现问题的代码),它被宣布为一个bug,希望能够得到修复

遇到了完全相同的问题。我最终使用了+来代替。工作得很有魅力。