puppeteer - 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();
我尝试添加超时和滚动,但它不起作用。有什么想法为什么它不适用于该图像?
解决方案
问题是:我使用的是旧浏览器。似乎无头 chrome 在 webp 格式方面存在问题,并且它们已在最新库中修复。所以在 "chrome-aws-lambda": "^5.5.0", "puppeteer-core": "^5.5.0" 中一切正常。
推荐阅读
- php - 请确认一个正则表达式以从字符串末尾剥离可选数字?
- java - 删除具有继承的实体不适用于弹簧数据
- ansible - 与 Stat 和 Command 模块调试语句相关的 Ansible 错误
- python - Pandas 使用循环复制行
- javascript - JS map 和 PHP 关联数组有什么区别吗?
- vue.js - 如何更改 vuejs 中标签标题上的图标?
- amazon-web-services - AWS DynamoDB 数据映射器:查询条件缺少关键架构元素
- machine-learning - 什么是物体检测“头”?
- haskell - Haskell 基于语法生成无限流
- wpf - 引用的外部命名空间与本地命名空间崩溃