【问题标题】:NodeJS check typeOf node/module (Puppeteer)NodeJS 检查 typeOf 节点/模块(Puppeteer)
【发布时间】:2021-06-17 21:51:42
【问题描述】:

我在 nodejs 的类型检查中苦苦挣扎。 我打算使用库 Puppeteer 来测试我自己的网页。为此,我想检查函数参数具有正确类型的方法。

如何从“Puppeteer”模块访问“页面”类型?

这是一个代码示例

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

} 

【问题讨论】:

    标签: node.js puppeteer require instanceof typeof


    【解决方案1】:

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

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

    你想达到什么目的?

    【讨论】:

    • 对我有用。谢谢!我想从我的 ide(visual studio 代码)启用自动完成功能,并检查传递的参数“page”是否来自正确的类
    猜你喜欢
    • 2022-08-21
    • 1970-01-01
    • 2012-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多