当出现“TimeoutError: waiting for Page.printToPDF failed”时,如何增加 pupetteer 的 Page.pdf 的超时时间?

Jul*_*che 7 puppeteer

当尝试将大发票转换为 PDF 时,我收到“TimeoutError: waiting for Page.printToPDF failed”:

Unhandled Rejection at: Promise Promise { <rejected>
 TimeoutError: waiting for Page.printToPDF failed: timeout 30000ms exceeded                                                      

  at Object.waitWithTimeout (/var/www/montbeau/releases/20210929161149/node_modules/puppeteer/lib/cjs/puppeteer/common/helper.js:224:26)

  at Page.createPDFStream (/var/www/montbeau/releases/20210929161149/node_modules/puppeteer/lib/cjs/puppeteer/common/Page.js:2045:49)

  at Page.pdf (/var/www/montbeau/releases/20210929161149/node_modules/puppeteer/lib/cjs/puppeteer/common/Page.js:2057:37)

  at /var/www/montbeau/releases/20210929161149/scripts/invoice_to_pdf.js:175:20

  at runMicrotasks (<anonymous>)                                                                                                                                                                                          
  at processTicksAndRejections (internal/process/task_queues.js:97:5)                                
  } reason: TimeoutError: waiting for Page.printToPDF failed: timeout
  30000ms exceeded                                                      

at Object.waitWithTimeout (/var/www/montbeau/releases/20210929161149/node_modules/puppeteer/lib/cjs/puppeteer/common/helper.js:224:26)

at Page.createPDFStream (/var/www/montbeau/releases/20210929161149/node_modules/puppeteer/lib/cjs/puppeteer/common/Page.js:2045:49)

at Page.pdf (/var/www/montbeau/releases/20210929161149/node_modules/puppeteer/lib/cjs/puppeteer/common/Page.js:2057:37)

at /var/www/montbeau/releases/20210929161149/scripts/invoice_to_pdf.js:175:20...
Run Code Online (Sandbox Code Playgroud)

如何增加超时时间?

Har*_*rsh 6

正如 Julien 提到的,将超时设置为 0。

const page = await browser.newPage();
await page.pdf({
    printBackground: true,
    displayHeaderFooter: false,
    timeout: 0,
});
Run Code Online (Sandbox Code Playgroud)