首页 > 解决方案 > Puppeteer 不显示某些图像

问题描述

我有一个 lambda 函数,可以为我制作屏幕截图。我注意到 puppeteer 无法加载某些图像。图像只是空白,带有 alt 标签而不是图像。这是一个页面示例,其中一个图像不起作用:https ://memorina.ru/example.html

尝试它最简单的地方是在此页面中运行以下代码:https ://try-puppeteer.appspot.com/

async function timeout(ms) {
  return new Promise(resolve => setTimeout(resolve, ms));
}
const page = await browser.newPage();
await page.goto("https://memorina.ru/example.html");

console.log(await page.content());
await page.evaluate(() => {
    window.scrollBy(0, window.innerHeight);
});
await timeout(15000);
await page.screenshot({path: 'screenshot.png'});

await browser.close();

我尝试添加超时和滚动,但它不起作用。有什么想法为什么它不适用于该图像?

标签: puppeteergoogle-chrome-headless

解决方案


问题是:我使用的是旧浏览器。似乎无头 chrome 在 webp 格式方面存在问题,并且它们已在最新库中修复。所以在 "chrome-aws-lambda": "^5.5.0", "puppeteer-core": "^5.5.0" 中一切正常。


推荐阅读