【问题标题】:Puppeteer black screenshot傀儡师黑色截图
【发布时间】:2020-09-25 15:24:51
【问题描述】:

当我使用xywidthheight 参数制作屏幕截图时,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.pngbuild2.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()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-28
      • 2014-06-06
      相关资源
      最近更新 更多