惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

IT之家
IT之家
Recent Announcements
Recent Announcements
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The GitHub Blog
The GitHub Blog
MyScale Blog
MyScale Blog
爱范儿
爱范儿
GbyAI
GbyAI
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
美团技术团队
Y
Y Combinator Blog
博客园 - 叶小钗
Apple Machine Learning Research
Apple Machine Learning Research
Martin Fowler
Martin Fowler
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
罗磊的独立博客
M
MIT News - Artificial intelligence
博客园 - Franky
V
Visual Studio Blog
I
InfoQ
V
V2EX
Hugging Face - Blog
Hugging Face - Blog
腾讯CDC
博客园 - 司徒正美
L
LangChain Blog

博客园 - 网无忌

体验Coding Plan 本地安装Dify 关于Docker Desktop的常用配置 渐变文字的小技巧 机器学习基础 pydantic中关于属性必填和选填的区别 CentOS的常用命令 密码中含有特殊字符造成mysqldump备份失败的一个小教训 通过模拟Cron执行环境来复现脚本执行失败的过程 查看mysql当前的执行任务,并关闭其中的指定任务 配置WSL2实现与宿主机的网络互通 超简单的 rsync 命令,实现文件的增量同步 十九年白驹过隙,老园子聊发少年狂 Linux中安装anaconda 矢量数据库Chromadb的入门信息 在wsl中部署puppeteer的相关笔记 向量数据库横比 整理了一下目前各Linux发行版的清单 盘点各领域的包管理器 使用 jstat 命令查看 JVM 的GC信息 记录一个在js环境生成随机(伪造)数据的小插件,方便生成调试数据 开启 mysql 的 general_log
使用Puppeter实现的全屏网页截图的小工具
网无忌 · 2024-03-27 · via 博客园 - 网无忌

screenshots

A small tool based on Nodejs environment, using Puppeter to take full screen screenshots of any webpage

1. 简介

 
一个基于Nodejs环境的小工具,使用Puppeter对任何网页进行全屏截图
 

2. 特点

  1. 如果页面有滚动条会自动滚屏截取全部可见内容
  2. 如果页面使用了异步加载,会等待全部数据加载完毕后再进行截屏
  3. 如果页面使用了AOS滚屏动画会将动画清除后再进行截屏
     

3. 请求参数

  1. url: 请求页面地址,必传
  2. mode: 页面渲染模式,可选值:pc、mobile,默认:pc
  3. width: 页面渲染宽度,可选,默认:1366,优先于mode
  4. height: 页面渲染高度,可选,默认:800,优先于mode
  1. base64: 是否返回图片的Base64编码,可选,默认0
     

4. 返回数据

  1. state: 处理状态,成功true,失败false
  2. msg: 错误信息,处理成功时该参数为空
  3. url: 请求页面的地址
  4. mode: 请求页面的渲染方式(pc、mobile)
  5. width: 请求页面的渲染宽度(模拟浏览器宽度,非截图宽度)
  6. height: 请求页面的渲染高度(模拟浏览器高度,非截图高度)
  7. screenshot: 截屏图片的请求地址
  8. times: 接口总处理时长,单位:毫秒
  9. base64: 截屏图片的Base64编码,当请求参数base64为真时有效
     

5. 如何使用

  1. 本地安装node.js环境
  2. 拉取代码到本地目录
  3. 执行:npm install 初始化依赖
  4. 执行:node ./screenshots.js 开启服务
  5. 配置文件 conf.json 中可以调整服务端口和截图保存目录名称
  6. 也可利用 pkg 将 ./screenshots.js 打包部署到服务器
     

6. 项目地址

 
https://github.com/netwild/screenshots