javascript - 傀儡师黑色截图
问题描述
当我使用 、 和 参数制作屏幕截图时x
,puppeteery
返回一个黑色屏幕截图,没有它一切正常。这是我的代码:width
height
await page.screenshot({ path: 'build.png', clip: { x: 0, y: 0, width: 810, height: 415 } });
有没有办法解决这个问题?
解决方案
对我来说,您的代码片段按预期工作(Windows 10,puppeteer 3.1.0)。这可能是环境或网页相关问题(例如,文档说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()
推荐阅读
- laravel - passing query data to send in mail laravel
- python - 在 Python 中使用位技巧的 64 位 popcount
- reactjs - Can RegEx be used with React Testing Library to check classnames?
- c++ - utility and operation of the function "EVP_PKEY_meth_find"
- google-sheets - How do I protect a shared google sheet with and still allow the script button to work?
- php - Cannot read index "type" from object of type "stdClass" because it doesn't implement \ArrayAccess
- python - Python list different directory without chdir
- r - Connection to Access DB from RStudio stopped working after Microsoft Updates
- shell - 在一个 slurm 脚本中运行同时任务,然后运行单个任务
- android - MaterialAlertDialogBuilder 不显示标题和消息的边距