gpt4 book ai didi

javascript - 错误 : document is not defined

转载 作者:行者123 更新时间:2023-11-28 02:30:26 25 4
gpt4 key购买 nike

我想像这样使用 Chai 测试 HTML eemnet 的属性:

const chai = require('chai');
const expect = chai.expect;
expect(document.getElementById('ref_button')).to.have.attr('disabled');

我把这行 fr chai-dom chai.use(require('chai-dom'))它抛出错误:

Unhandled rejection ReferenceError: document is not defined at     
C:\Users\67563478\new_workspace\onconsup\node_modules\chai-dom\chai-dom.js:69:53 at Object.exports.use
(C:\Users\67563478\new_workspace\onconsup\node_modules\chai\lib\chai.js:39:5)
而 chai-dom 中出现错误的那一行是:

NODE_LIST_STRING = Object.prototype.toString.call(document.childNodes),

我删除了这一行,错误不再存在。现在错误是 document is not defined for the line of document.getElementById。我应该怎么办?也许图书馆 chai-dom 已被弃用?

最佳答案

document 是特定于浏览器的全局变量,未在 Node.js 环境中定义,因此当您引用 document 时,chai 不知道它是什么以及如何使用找到它。

此外,(可能 - 因为您没有展示 HTML 文件是如何连接到 chai 的)按钮和测试之间没有联系。

要解决问题,您可以查看实现 WHATWG DOM 和 HTML 标准的 JSDOM ( https://github.com/jsdom/jsdom)。或者,您可以选择使用 headless 浏览器,例如 headless chrome ( https://github.com/GoogleChrome/puppeteer )。

选择一个选项需要对您的用例有更多的了解。

关于javascript - 错误 : document is not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51038068/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com