博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何成为Puppeteer大师
阅读量:7105 次
发布时间:2019-06-28

本文共 1443 字,大约阅读时间需要 4 分钟。

。从微型的开始,到更大型的。绝对属于后一种。

\\

Puppeteer宣传自己是

\\
\

一个Node库,它提供了一组高级API,通过DevTools协议控制无界面Chrome。

\
\\

简而言之,基于Chrome Devtools协议,Puppeteer可以让用户界面测试变得很轻松。而所有这一切都是免费的。

\\

什么是Puppeteer?

\\

是一个用户界面自动化工具。它通过使用Chrome无界面模式和DevTools协议的组合来实现这一点。正如上面的引用所言,它使用一个更上层的API来封装其功能,让用户界面测试自动化变得轻而易举。

\\

人们基于开发了一系列Google Chrome工具。你在浏览器中点击更多工具 -\u0026gt;开发工具,打开的就是。DevTools协议是DevTools的动力基础,我们现在可以使用Chrome中的DevTools来做更多的事情。

\\

是没有Chrome的Chrome。是的,你没看错。它允许你从浏览器之外的环境(即命令行)与Chromium进行交互。

\\

将Chromium和渲染引擎带入命令行使得很多事情变得可行,比如自动化测试。

\\

安装

\\

安装很简单,可以通过或来完成。只需运行下面的命令:

\\
\yarn add pupeeter\# or \"npm i puppeteer\"\
\\

之后可以像其它nodejs程序一样用来运行。

\\

创建截图

\\

有时你想测试像CSS这样的东西,确保网站观感没有出现回退。

\\

譬如,对我的博客进行截图:

\\
\const puppeteer = require(\"puppeteer\");\(async() =\u0026gt; {\    const browser = await puppeteer.launch();\    const page = await browser.newPage();\    await page.goto(\"http://jackhiston.com/\");\    await page.screenshot({ path: \"jackhiston-blog.png\" });\    browser.close();\})();\
\\

首先我们要引用puppeteer作为依赖包。有了这个,你可以一个浏览器实例,它实际上也可以在屏幕上加载浏览器,如下所示:

\\
\const browser = await puppeteer.launch({ headless: false });
\\

注意headless选项。

\\

这样你就可以在浏览页面时创建一个全新的页面,然后你可以“”一个特定的网址(在这个例子里会转到我的主页)。

\\

然后,我们可以使用内建的屏幕截图功能来保存页面截图。

\\

爬取网页

\\

另外一个应用场景是用Puppeteer爬取网站的内容。在下面的例子里,我将浏览骇客新闻并从第一页上取得所有新闻的链接:

\\
\const puppeteer = require(\"puppeteer\");\(async() =\u0026gt; {\    const browser = await puppeteer.launch();\    const page = await browser.newPage();\    page.on(\"console\

转载地址:http://qfuhl.baihongyu.com/

你可能感兴趣的文章
jsp自定义标签
查看>>
我的技术博客-公告板!
查看>>
Websense:Android的安全性令人担忧
查看>>
Office 365 系列之四:添加自定义域
查看>>
Android应用程序启动过程——Launcher源码分析
查看>>
(实战)从关联表中取得JSON数据
查看>>
maven添加repository仓库
查看>>
vSAN 6.0设计与规模设定——vSAN设计概览
查看>>
zabbix邮件报警之完整总结
查看>>
我的友情链接
查看>>
Windows 10:现代化世界中安全与身份的守卫者
查看>>
查找相关数据结构和算法
查看>>
Android系统匿名共享内存Ashmem(Anonymous Shared Memory)驱动程序源代码分析(下)
查看>>
我的友情链接
查看>>
将命名规范的一些列文件合并成一个完整的文件
查看>>
数据恢复过程之:服务器raid5两块硬盘离线数据恢复
查看>>
戴尔Dell Latitude E6410/E6510官方拆机图解维修手册
查看>>
SAS硬盘与SATA硬盘的区别
查看>>
html语义化
查看>>
mysql+mha高可用搭建
查看>>