我正在使用 AWS Lambda + Puppeteer + Handlebars 在运行时生成 PDF。我正在动态创建 HTML,需要设置 cookie 以便在创建 PDF 之前在 HTML 页面中呈现一些图像。
Puppeteer v4.0.0 节点 v12.x
我遇到了2个问题:
- page.setCookie() 不工作
- 我有要应用于 PDF 的自定义字体 - 我已复制字体并将字体配置放置在字体文件夹中,并将 FONTCONFIG_PATH 环境变量设置为 /var/task/fonts (这似乎在 PhantomJS 中有效,但在无头 Chrome 中无效)。
我已经尝试了所有可能的 page.setCookie() 方法,但它似乎不起作用。
代码:
const page = await browser.newPage();
var pdfCookies = {
"name": "edge-auth", // required
"value": conf["edge-auth"], // required
"domain": ".abc.com",
"path": "/",
"httponly": true,
"secure": true
};
await page.setCookie(pdfCookies);
await page.setContent(data, {waitUntil:'networkidle0'});
我为“await page.cookies()”添加了一个控制台日志——但我得到一个空白数组 [] 作为输出。
任何帮助将不胜感激。