node puppeteer截图教程

栏目: NodeJs 发布时间:2022-02-09

Puppeteer 简介

puppeteer is a Node library which provides a high-level API to control Chrome or Chromium over the DevTools Protocol. Puppeteer runs headless by default, but can be configured to run full (non-headless) Chrome or Chromium.

Puppeteer 是一个通过 DevTools 协议提供高级别 API 来控制 Chrome 或 Chromium 的 node 库。Puppeteer 默认以 headless 模式运行,但是可以通过修改配置文件运行“有头”模式。

为什么要用 Puppeteer 来截图?

常见的使用场景:

1、自动化测试

2、借助 Puppeteer 截图实现服务端绘图,简单高效

Puppeteer 截屏实例

1、安装 puppeteer

npm i puppeteer
# or

yarn add puppeteer

2、创建一个 js 文件

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('https://www.tides.cn');
  await page.screenshot({ path: 'tides.png' });

  await browser.close();
})();

使用 node 运行上述 js 文件即可得到一张文件名为 tides.png 的截图。

实际项目中,可以指定输出图片格式为 jpg,截图、图片输出以及图片传输的速度都会得到较大提升。

小结

Puppeteer 在自动化测试和服务端绘图领域有着广泛的应用,简单高效;

输出图片格式指定为 jpg 通常会更快速

本文地址:https://www.tides.cn/p_node-puppeteer-screenshot