如何解决NodeJS 检查 typeOf 节点/模块Puppeteer
我正在为 nodejs 的类型检查而苦苦挣扎。 我计划使用库 Puppeteer 来测试我自己的网页。为此,我想检查函数参数具有正确类型的方法。
如何从“Puppeteer”模块访问“Page”类型?
这是一个代码示例
const pup = require('puppeteer');
/**
*
* @param {puppeteer.page} page Puppeter Browser Page (Tab)
*/
async function navigateToPage(page){
if(page instanceof page) throw("The passed variable page is not typeOf puppeteer.page")
}
解决方法
我这样做是为了获取类名:
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({headless: true,args: ['--no-sandbox']});
const page = await browser.newPage();
console.log(page.constructor.name);
process.exit(0);
// show Page
})();
我在源代码中找到了一个定义这个类的文件:
https://github.com/puppeteer/puppeteer/blob/main/src/common/Page.ts
但是当我浏览节点模块文件夹时,我在这里找到了它: 'puppeteer/lib/cjs/puppeteer/common/Page'
尽管如此,这段代码似乎有效。
const puppeteer = require('puppeteer');
const {Page} = require('puppeteer/lib/cjs/puppeteer/common/Page');
(async () => {
const browser = await puppeteer.launch({headless: true,args: ['--no-sandbox']});
const page = await browser.newPage();
console.log(page instanceof Page);
})();
你想通过这个实现什么?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。