Puppeteer初探

836 阅读1分钟

Overview

Puppeteer 单词的意思为:傀儡师、木偶人、操纵木偶的人。听起来是那么的awesome!!
根据文档中的说明,可以理解为Puppeteer是一个node库,这个库提供了很多操作chrome的api,允许通过JS代码操纵 Chrome 浏览器。 中文文档

核心功能

  1. 生成页面 PDF。
  2. 抓取 SPA(单页应用)并生成预渲染内容(即“SSR”(服务器端渲染))。
  3. 自动提交表单,进行 UI 测试,键盘输入等。
  4. 创建一个时时更新的自动化测试环境。 使用最新的 JavaScript 和浏览器功能直接在最新版本的Chrome中执行测试。
  5. 捕获网站的 timeline trace,用来帮助分析性能问题。
  6. 测试浏览器扩展。

开始使用

运行

npm init -y 一个项目

npm i puppeteer 安装puppeteer时会默认安装最新版本的Chromium。

Chromium是啥?Chrome浏览器基于Chromium,新特性会在Chromium中先行先试。具体的可以自行百度一下

创建index.js文件


(async () => {
  const browser = await puppeteer.launch({
  	headless: false,
  	slowMo: 100,
  });
  const page = await browser.newPage();
  await page.setViewport({width: 1000, height: 1000});
  await page.goto('https://www.baidu.com/');
  await page.focus('.s_ipt');
  await page.keyboard.type('京东');
  await page.click('.s_btn');
})();

node index.js 打开百度,输入京东,搜索结果。