PhantomJS、Puppeteer、SlimerJS网页截屏

简介: PhantomJS、Puppeteer、SlimerJS网页截屏

PhantomJS

PhantomJs(使用QtWebKit内核)已经停止维护了

baidu.js

// 创建一个网页实例
var page = require('webpage').create();
// 加载页面
page.open('https://www.baidu.com/', function () {
    // 给网页截屏保存
    page.render('baidu.png');
    phantom.exit();
})
$ phantomjs baidu.js

Puppeteer(chrome headless)

文档:https://github.com/puppeteer/puppeteer

安装

$ npm i puppeteer


example.js

const puppeteer = require("puppeteer");
(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  // 设置视窗大小
  await page.setViewport({
    width: 1400,
    height: 800,
  });
  // 打开页面
  await page.goto("https://zhuanlan.zhihu.com/p/76237595"); 
  // path: 截屏文件保存路径
  await page.screenshot({ path: "example.png" ,fullPage: true }) 
  await browser.close();
})();

SlimerJS

SlimerJS是基于火狐的浏览器引擎Gecko

Firefox. version: 53.0 to 59.0

下载地址:https://slimerjs.org/download.html

安装依赖

npm install slimerjs
var page = require('webpage').create();
page.open("https://mp.weixin.qq.com/s/YHeEjam6lze8OgyiPBWorQ", function (status) {
    page.viewportSize = { width:1024, height:768 };
    page.render('screenshot.png');
    slimer.exit()
});
$ npx slimerjs screenshot.js

参考

JS 实现网页截屏五种方法

相关文章
|
JSON 安全 调度
Android面试题之Kotlin协程一文搞定
本文介绍了协程的基础知识,强调它是轻量级线程,用于处理耗时任务而不阻塞主线程,确保主线程安全。协程特点包括使异步逻辑同步化,并允许函数挂起和恢复。挂起函数由`suspend`关键字标识,只能在协程内部调用。挂起与阻塞的主要区别在于挂起不会导致主线程ANR。 结构化并发和协程作用域(如`CoroutineScope`、`GlobalScope`、`MainScope`等)提供了任务管理,文章还探讨了并发、启动模式、协程取消、超时任务以及资源释放等主题。
311 0
|
人工智能 C++
【重学C++】【指针】轻松理解常量指针和指针常量
【重学C++】【指针】轻松理解常量指针和指针常量
434 0
|
SQL 存储 关系型数据库
MySQL之面试真题详解
MySQL之面试真题详解
148 1
|
缓存 前端开发 JavaScript
云EC电商模版引擎读取的网址URL及路径原理分析(1)
云EC电商模版引擎读取的网址URL及路径原理分析(1)
234 0
|
消息中间件 缓存 前端开发
【Kafka源码】万字长文详解Kafka网络模型、副本机制(上)
【Kafka源码】万字长文详解Kafka网络模型、副本机制
350 0
【Kafka源码】万字长文详解Kafka网络模型、副本机制(上)
|
数据管理 分布式数据库 网络安全
OceanBase入选工信部网安中心“2021年度信息技术应用创新典型解决方案”
近日,由工业和信息化部网络安全产业发展中心、天津市工业和信息化局、江苏省工业和信息化厅(江苏信创产业链专班)、福建省数字福建建设领导小组办公室、信息中心技术创新应用协作组共同举办的“ 2022 新一代信息技术融合应用创新云峰会”于北京、天津、南京、福州四地,以线上线下协同联动的方式成功召开。会上发布“2021 年数字技术融合创新应用解决方案征集工作成果”,OceanBase 原生分布式数据库入选“2021 年度信息技术应用创新典型解决方案”。
407 0
OceanBase入选工信部网安中心“2021年度信息技术应用创新典型解决方案”
|
Web App开发 数据采集 缓存
你不可能知道的骨架屏玩法!
骨架屏基本就是详细页面元素未展现时,把DOM结构通过线条勾勒出来。而对于C端的营销类活动页面来说,并没有比较标准的骨架,每个活动有自己的轮廓,那怎么办呢?
你不可能知道的骨架屏玩法!
|
缓存 Dubbo NoSQL
HeapDump性能社区专题系列四:后端面试必备问题集
HeapDump性能社区专题系列四:后端面试必备问题集
HeapDump性能社区专题系列四:后端面试必备问题集