多测师是一家拥有先进的教学理念,强大的师资团队,业内好评甚多的接口自动化测试培训机构!

17727591462

联系电话

您现在所在位置:接口自动化测试培训 > 新闻资讯

比selenium自动化测试工具更高效的爬虫利器-pyppeteer

更新时间:2022-03-15 09:38:22 作者:多测师 浏览:141

  Pyppeteer简介

  提起selenium想必大家都不陌生,作为一款知名的Web自动化测试框架,selenium支持多款主流浏览器,提供了功能丰富的API接口,经常被我们用作爬虫工具来使用。但是selenium的缺点也很明显,比如速度太慢、对版本配置要求严苛,最麻烦是经常要更新对应的驱动。还有些网页是可以检测到是否是使用了selenium。并且selenium所谓的保护机制不允许跨域cookies保存以及登录的时候必须先打开网页然后后加载cookies再刷新的方式很不友好。

比selenium自动化测试工具更高效的爬虫利器-pyppeteer

  今天就给大家介绍另一款web自动化测试工具Pyppeteer,虽然支持的浏览器比较单一,但在安装配置的便利性和运行效率方面都要远胜selenium。

  介绍Pyppeteer之前先说一下Puppeteer,Puppeteer是Google基于Node.js开发的一个工具,主要是用来操纵Chrome浏览器的API,通过Javascript代码来操纵Chrome浏览器的一些操作,用作网络爬虫完成数据爬取、Web程序自动测试等任务。其API极其完善,功能非常强大。而Pyppeteer又是什么呢?它实际上是Puppeteer的Python版本的实现,但他不是Google开发的,是一位来自于日本的工程师依据Puppeteer的一些功能开发出来的非官方版本。

  Pyppeteer其实是Puppeteer的Python版本。pyppeteer模块看不懂就去看puppeteer文档,pyppeteer只是在puppeteer之上稍微包装了下而已。

  注意:本来chrome就问题多多,puppeteer也是各种坑,加上pyppeteer是基于前者的改编python版本,也就是产生了只要前两个有一个有bug,那么pyppeteer就会原封不动的继承下来,本来这没什么,但是现在遇到的问题就是pyppeteer这个项目从2018年9月份之后几乎没更新过,前两者都在不断的更新迭代,而pyppeteer一直不更新,导致很多bug根本没人修复。

  下面简单介绍下Pyppeteer的两大特点:chromium浏览器和asyncio框架:

  1).chromium

  Chromium是一款独立的浏览器,是Google为发展自家的浏览器GoogleChrome而开启的计划,相当于Chrome的实验版,且Chromium是完全开源的。二者基于相同的源代码构建,Chrome所有的新功能都会先在Chromium上实现,待验证稳定后才会移植,因此Chromium的版本更新频率更高,也会包含很多新的功能,但作为一款独立的浏览器,Chromium的用户群体要小众得多。两款浏览器“同根同源”,它们有着同样的Logo,但配色不同,Chrome由蓝红绿黄四种颜色组成,而Chromium由不同深度的蓝色构成。

  Pyppeteer的web自动化是基于chromium来实现的,由于chromium中某些特性的关系,Pyppeteer的安装配置非常简单,关于这一点稍后我们会详细介绍。

  2).asyncio

  asyncio是Python的一个异步协程库,自3.4版本引入的标准库,直接内置了对异步IO的支持,号称是Python最有野心的库。

  以上内容为大家介绍了比selenium自动化测试工具更高效的爬虫利器-pyppeteer,本文由多测师亲自撰写,希望对大家有所帮助。了解更多自动化测试相关知识:https://www.aichudan.com/xwzx/

联系电话

17727591462

返回顶部