Webpage screenshot API, using Puppeteer
npm config set PUPPETEER_DOWNLOAD_HOST https://npm.taobao.org/mirrors
npm i -g nodemon
yarn install
yarn dev
docker run -d --restart always -p 8555:8555 --name puppeteer-screenshot arbing/puppeteer-screenshot
GET /
POST /
GET /screenshot
POST /screenshot
arguments | type | default | required | desc |
---|---|---|---|---|
device | string | iPhone 8 | false | 模拟设备,可选值参考 |
url | string | - | true | 导航到的地址. 地址应该带有 http 协议, 比如 https://,参考 |
html | string | - | false | 要渲染的 html 代码,参考 |
timeout | number | 30 * 1000 | false | 跳转等待时间,单位是毫秒, 默认是 30 秒, 传 0 表示无限等待 |
waitUntil | string | load | false | 满足什么条件认为页面跳转完成,默认是 load 事件触发时 |
style | string | - | false | 参考 |
script | string | - | false | 参考 |
waitFor | string/number | - | false | 参考 |
selector | string | body | false | 元素匹配指定选择器,默认是 body参考 |
type | string | png | false | 截图类型, 可以是 jpeg 或者 png。默认 'png'参考 |
quality | number | - | false | 图片质量, 可选值 0-100. png 类型不适用。 |
fullPage | boolean | false | false | 如果设置为 true,则对完整的页面(需要滚动的部分也包含在内)。默认是 false |
clipX | number | 0 | false | 裁剪区域相对于左上角(0, 0)的 x 坐标 |
clipY | number | 0 | false | 裁剪区域相对于左上角(0, 0)的 y 坐标 |
clipWidth | number | 0 | false | 裁剪的宽度 |
clipHeight | number | 0 | false | 裁剪的高度 |
omitBackground | boolean | false | false | 隐藏默认的白色背景,背景透明。默认不透明 |