我正在尝试使用 JS 中的 Puppeteer 以编程方式将网页打印为 PDF。我尝试了以下操作,大致基于 docs 提供的示例:
import puppeteer from 'puppeteer';
// Or import puppeteer from 'puppeteer-core';
// Launch the browser and open a new blank page
const browser = await puppeteer.launch({headless: true});
const page = await browser.newPage();
// Navigate the page to a URL.
await page.goto('https://example.com');
// Configure PDF options
const pdfOptions = {
path: "out.pdf",
};
console.log("Printing pdf");
await page.pdf(pdfOptions);
await browser.close();
console.log("DONE");
当我运行此示例时,出现如下错误:
TimeoutError:等待30000ms后超时
我尝试了多种方法,包括在 pdf 选项和启动选项中设置无限超时,但均无济于事。
如何使用 puppeteer 来实现这个简单的 PDF 输出示例?
谢谢。
使用以下启动选项我能够让它工作:
const launchOptions = {
headless: true,
args: ["--no-sandbox"]
};
我在 github 上的 Puppeteer 存储库报告的问题之一中找到了此选项。不知道为什么这没有包含在官方示例中。