首页 > 解决方案 > Puppeteer 写入某些选项卡的 pdf 的问题

问题描述

在无头模式下,我对 puppeteer 有一个非常可怕的问题。

我打开一个页面,模拟页面上的按钮单击(打印),这会打开第一页的特定打印导向页面,我想将该打印版本写入 pdf。

我在无头模式下测试了整个事情:假以查看发生了什么,它似乎工作正常。打开第一页,触发按钮单击,打开带有我想要的页面的新选项卡。

但问题是......当我想写入 PDF 时,它总是使用第一页。

非常感谢这个解决方案,因为它让我发疯。

部分守则。

const page = await browser.newPage();
var response = await page.goto(formUrl, { waitUntil: 'networkidle2' });
await page.waitForSelector('button[name="Print"]');
await page.click('button[name="Print"]');
const pagewnew = await browser.pages();
await pagenew[2].bringToFront();

编辑:添加了 PDF 打印代码

await page.pdf({
      path: outputFile,
      format: 'A4',
      landscape: true,
      displayHeaderFooter: false,
      printBackground: false,    
      margin: {
        top: '10mm',
        right: '10mm',
        bottom: '10mm',
        left: '10mm',
      },
    });

标签: javascriptpuppeteer

解决方案


推荐阅读