NodeJS 检查 typeOf node/module (Puppeteer)

NodeJS check typeOf node/module (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")

} 

我这样做是为了获得 class 名称:

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
})();

而且我在源代码中找到了一个定义此 class 的文件:

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);

})();

你想用它达到什么目的?