我正在尝试使用jsdom来分析一些HTML内容。我见过的例子使用基于html内容的jsdom.jsdom文档的.createWindow()方法。
但是当我尝试按照这些示例时,我的文档没有.createWindow()方法。
var getaPage=function (req, res, callback) {
jsdom.defaultDocumentFeatures={
FetchExternalResources : ['script'],
ProcessExternalResources : ['script'],
MutationEvents : '2.0',
QuerySelector : false
};
var htmlDoc = '<html lang="en-US">' +
'</html>';
var tstDocument=jsdom.jsdom(htmlDoc);
for (var attr in tstDocument){
if (attr == 'createWindow') {
console.log('Found it');
}else{
console.log('not it');
};
};
};
当我运行这个时,我得到一堆'不是'而没有'找到它'。
为什么我没有.createWindow()方法?
答案 0 :(得分:12)
jsdom的API在1.0版本中发生了很大变化。 createWindow()
方法来自旧API。您应该只需访问tstDocument.defaultView
即可获取文档窗口,就像您在浏览器中一样。