【问题标题】:Puppeteer black screenshot傀儡师黑色截图
【发布时间】:2020-09-25 15:24:51
【问题描述】:
当我使用x、y、width 和height 参数制作屏幕截图时,puppeteer 返回黑色屏幕截图,没有它一切正常。
这是我的代码:
await page.screenshot({ path: 'build.png', clip: { x: 0, y: 0, width: 810, height: 415 } });
有什么办法可以解决吗?
【问题讨论】:
标签:
javascript
node.js
puppeteer
【解决方案1】:
对我来说,您的 sn-p 按预期工作(Windows 10,puppeteer 3.1.0)。这可能是环境或网页相关问题(例如,docs say 用于 OSX 屏幕截图至少需要 1/6 秒)。
作为一种解决方法,您可以使用page.setViewport 裁剪所需的大小,然后进行正常的屏幕截图。
build.png 和 build2.png 的图像与我 100% 相同(大小、裁剪、所有内容),所以如果您唯一的问题是 clip,那么您可以继续使用此解决方案。
const puppeteer = require('puppeteer')
async function fn() {
const browser = await puppeteer.launch()
const page = await browser.newPage()
await page.setViewport({ width: 810, height: 415 })
await page.goto('https://www.google.com')
await page.screenshot({ path: 'build.png', clip: { x: 0, y: 0, width: 810, height: 415 } }) // your original try
await page.screenshot({ path: 'build2.png' }) // workaround, combined with setViewport
await browser.close()
}
fn()