javascript - Puppeteer - ProtocolError : Protocol error (Page. printToPDF):打印不可用

标签 javascript node.js puppeteer

尝试使用 Puppetter 打印 PDF 时出现以下错误。我无法在网上找到有关此错误的更多信息。这是否意味着这个特定页面不支持 PDF,或者我的代码中是否有可以修改它的设置?任何帮助,将不胜感激。
enter image description here

export const create = async (dev: boolean = true) => {
        
        const username = process.env.USERNAME;
        const password = process.env.PASSWORD;
    
        const options = dev
            ? {
                    headless: false,
                    slowMo: 25, 
              }
            : {};
    
        const browser = await Puppeteer.launch(options);
        const page = await browser.newPage();
    
        await page.goto(LOGIN_URL, {
            waitUntil: "networkidle2",
        });
    
        await page.type(USERNAME_INPUT_ID, username);
        
        const passwordInputHandle = await page.$(PASSWORD_INPUT_ID);
        await passwordInputHandle.type(password);
        await passwordInputHandle.press("Enter");
    
        await page.pdf({ path: path.join(TEMP_FOLDER, "hn.pdf"), format: "a4" });
    
        await browser.close();
    };

最佳答案

PDF创建是仅限 支持 headless模式。
所以这应该工作:

const browser = await Puppeteer.launch({ headless: true });

关于javascript - Puppeteer - ProtocolError : Protocol error (Page. printToPDF):打印不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70919632/

相关文章:

node.js - 如何通过 BrowserSync 中间件设置 session cookie?

node.js - 如何在谷歌云构建上升级 Node js 版本

puppeteer - 如何使用 puppeteer 获取所有控制台消息?包括错误、CSP 违规、资源失败等

puppeteer:我可以在浏览器中使用 puppeteer 判断我的网站/应用程序吗?

javascript - 如果源文件不存在,如何删除图像元素

node.js - 是什么让我的 Node 应用程序使用 pm2 每 30 秒重新启动一次

Javascript Append Textarea 值问题

javascript - 无法在 'querySelector' : 'Document' is not a valid selector 上执行 '#traveller[36350015][date_of_birth(3i)]'

javascript - 使用来自 Controller 的返回值调用指令函数

javascript - 如何通过javascript或jquery从句子中提取括号内外的文本