javascript - jsdom document.createWindow() 为非空文档返回空

标签 javascript node.js jsdom

我正在尝试按照 https://github.com/tmpvar/jsdom 上非常简短的设置说明进行操作在“创建类似浏览器的 BOM/DOM/Window”部分下。不幸的是,在第 3 行(.createWindow 步骤)之后,我执行了 console.log(window) 并打印了一个空对象。那里至少应该有 window.document,但没有。似乎 document.createWindow 的行为与 jsdom.createWindow 相同。

到目前为止,这是我的代码:

var jsdom = require('jsdom').jsdom;

document = jsdom("<html><head></head><body>hello world</body></html>");
window = document.createWindow();

console.log(window); // output: {}

console.log(window.document.innerHTML); // error, cannot read innerHTML on undefined

那么,我做错了什么蠢事?

FYI 文档已正确创建。打印它会输出一个非常大的对象。

我正在使用 Mac。

最佳答案

var jsdom = require('jsdom').jsdom;
document = jsdom('<!doctype html><html><body>hello jsdom</body></html>');
window = document.createWindow();
console.log(window);
var txt = window.document.body.innerHTML;
console.log(txt);

关于javascript - jsdom document.createWindow() 为非空文档返回空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11301119/

相关文章:

javascript - HMAC/Javascript - 在哪里存储 secret ?

javascript - 删除jQuery中的位置属性

javascript - 将数组传递给 jade 渲染

javascript - Puppeteer 获取所有 <a> href 链接

jquery - 在Windows上使用node.js抓取网站

javascript - 通过下拉菜单选择时如何添加图片事件?

javascript - 解析服务器 server.js 邮件适配器中的用户字段为空

javascript - 性能测试期间 NodeJS 空闲操作

typescript - 使用 jsodom 和 jest 测试 react-mapbox-gl

javascript - JSDom 不将文本作为脚本运行