【问题标题】:How to generate PDF from popup in Puppeteer?如何从 Puppeteer 中的弹出窗口生成 PDF?
【发布时间】:2019-03-18 02:11:44
【问题描述】:

我知道您可以使用 Puppeteer 下载 PDF:

await page.pdf({path: 'page.pdf'});

但是如何从弹出窗口下载 PDF?

转到弹出 URL 的示例代码:

 let popup = pages.pop();
 await popup.waitFor(7500); 
 await page.goto(popup.url());

如何获取 PDF 并将其保存到文件中?

【问题讨论】:

    标签: javascript node.js reactjs jestjs puppeteer


    【解决方案1】:

    您可以使用page.pdf() 将弹出窗口(@98​​7654322@ 中的最后一个元素)保存为 PDF:

    const pages = await browser.pages();
    const popup = pages[pages.length - 1];
    
    await popup.pdf({
      path: 'popup.pdf'
    });
    

    【讨论】:

    • 我不得不在 Puppeteer 启动时将 headless 设置为 true,因为 PDF 在非无头模式下似乎不可用。但仍然没有保存 PDF。
    • 我超时了,什么也没发生。
    • 当 headless 为真时,弹出窗口不存在,因此 pages.length 实际上是一。有什么想法吗?
    猜你喜欢
    • 2018-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多