puppeteer(一)环境搭建——新Web自动化工具(同selenium)

一、简介

https://github.com/GoogleChrome/puppeteer

Puppeteer是一个Node库,它提供了一个高级API来控制DevTools协议上的 Chrome或Chromium 。

Puppeteer 默认运行无头,但可以配置为运行完整(非无头)Chrome或Chromium。

我能做什么?
您可以在浏览器中手动执行的大多数操作都可以使用Puppeteer完成!以下是一些可以帮助您入门的示例:
  • 生成页面的屏幕截图和PDF。
  • 抓取SPA(单页面应用程序)并生成预渲染内容(即“SSR”(服务器端渲染))。
  • 自动化表单提交,UI测试,键盘输入等。
  • 创建最新的自动化测试环境。使用最新的JavaScript和浏览器功能直接在最新版本的Chrome中运行测试。
  • 捕获站点的时间线跟踪,以帮助诊断性能问题。
  • 测试Chrome扩展程序。

适用范围:

  目前仅支持chrome浏览器,不支持其他如IE、firefox等。

二、环境搭建

1)由于是nodejs的一个库,首先需要安装nodejs.我下载的是最新的10.13.0,安装一直下一步到最后。

https://nodejs.org/zh-cn/

puppeteer(一)环境搭建——新Web自动化工具(同selenium)

这里安装路径选到D盘,D:\Program Files\nodejs

安装完毕在命令行输入以下命令测试是否安装成功,正确会出现版本号

npm -v

2)改变原有的环境变量

(1)我们要先配置npm的全局模块的存放路径以及cache的路径,例如我希望将以上两个文件夹放在NodeJS的主目录下,便在NodeJs下建立"node_global"及"node_cache"两个文件夹,输入以下命令改变npm配置

npm config set prefix "D:\Program Files\nodejs\node_global"
npm config set cache "D:\Program Files\nodejs\node_cache"

puppeteer(一)环境搭建——新Web自动化工具(同selenium)

3)在系统环境变量添加系统变量NODE_PATH

输入路径D:\Program Files\nodejs\node_global\node_modules,此后所安装的模块都会安装到改路径下

4)安装淘宝npm(cnpm)

(1) 输入以下命令

npm install -g cnpm --registry=https://registry.npm.taobao.org

(2)添加系统变量path的内容

  因为cnpm会被安装到D:\Program Files\nodejs\node_global下,而系统变量path并未包含该路径。在系统变量path下添加该路径即可正常使用cnpm。

(3) 输入cnpm -v输入是否正常

cnpm -v

puppeteer(一)环境搭建——新Web自动化工具(同selenium)

5)安装puppeteer

执行如下命令,安装成功后会在D:\Program Files\nodejs\node_global\node_modules下看到puppeteer目录。

cnpm i puppeteer -g

puppeteer(一)环境搭建——新Web自动化工具(同selenium)

puppeteer(一)环境搭建——新Web自动化工具(同selenium)

6)npm相关命令

npm安装模块
【npm install xxx】利用 npm 安装xxx模块到当前命令行所在目录;
【npm install -g xxx】利用npm安装全局模块xxx; 本地安装时将模块写入package.json中:
【npm install xxx】安装但不写入package.json;
【npm install xxx –save】 安装并写入package.json的”dependencies”中;
【npm install xxx –save-dev】安装并写入package.json的”devDependencies”中。
npm 删除模块
【npm uninstall xxx】删除xxx模块;
【npm uninstall -g xxx】删除全局模块xxx; 已安装模块查看
npm ls -g --depth 0 //查看全局模块 depth 0 深度为0,可以根据需求改变深度
npm ls --depth 0 //查看当前命令所在目录
上一篇:hdu4737 A Bit Fun ——O(n)做法、错误的做法 + 正确做法


下一篇:HDU 3518 Boring counting(后缀数组,字符处理)