无头浏览器广泛用于自动化测试,
- PhantomJS浏览器官方已停止维护.
- Playwright 原生支持 Python,而且支持 Google Chrome/Firefox/Safari 三大浏览器
- puppeteer是由谷歌的Chrome团队在维护.
pyppeteer 是非官方 Python 版本的 Puppeteer 库,浏览器自动化库,由日本工程师开发。
selenium Selenium是最广泛使用的开源Web UI(用户界面)自动化测试套件之一。它最初由杰森·哈金斯(Jason Huggins)于2004年开发,作为Thought Works的内部工具。Selenium支持跨不同浏览器,平台和编程语言的自动化。
优点
支持多款主流浏览器,提供了功能丰富的API 接口
缺点
- 速度太慢、对版本配置要求严苛,最麻烦是经常要更新对应的驱动。
- 保护机制不允许跨域 cookies 保存,登录的时候必须先打开网页然后后加载 cookies 再刷新的方式很不友好
pyppeteer
Pyppeteer 是一款非常高效的 web 自动化测试工具,是 Puppeteer 的 Python 版本。
pyppeteer 使用了 Python 异步协程库 asyncio,可整合 Scrapy 进行分布式爬虫。
优点
- 安装配置的便利性和运行效率方面都要远胜 selenium
- 支持 asyncio 异步协程,对于并发比较友好
- 编程语言只能用javascript
- 支持的浏览器比较单一,只能用chromium
- 是第三方的,好久没有更新了,bug 也不少,Pyppeteer 所依赖的 Puppeteer 的原生 JS 版本,本身就很不稳定
playwright 简介
Microsoft 于2020 年 1 月 31 日发布Playwright的第一个公共版本时。
playwright-python,是一款基于python的自动化测试工具,可以通过录制功能自动生成测试脚本;
Playwright是一个强大的Python库,仅用一个API即可自动执行Chromium、Firefox、WebKit(Safari )等主流浏览器自动化操作,并同时支持以无头模式、有头模式运行;
优点
- 跨浏览器,支持Chrome、Firefox、WebKit;
- 跨系统,支持Windows、Mac、Linux;
- 跨语言,支持Python、Java、JS;
- 可用于移动端。
selenium playwright puppeteer性能比较 【爬虫|无头浏览器介绍和对比】
文章图片
推荐阅读
- python全栈开发|进军Python全栈开发--14.Python中的数据结构与算法
- 前端|聊一聊前端程序员的现状与挑战
- 大数据|程序员该如何构建面向未来的前端架构!
- 程序员|要啥女朋友(大神教你用Python人工智能制作AI机器人)
- Python从零到壹|[Python从零到壹] 五十.图像增强及运算篇之图像直方图理论知识和绘制实现
- java|抖音API接口(item_search-根据关键词取商品列表)
- java|抖音API接口(item_get-获得抖音商品详情)
- 21天打卡|21天Python打卡第1期
- Python学习笔记|21天Python进阶学习挑战赛打卡------第4天(字典)