无头浏览器广泛用于自动化测试,
-
PhantomJS浏览器官方已停止维护.
-
Playwright 原生支持 Python,而且支持 Google Chrome/Firefox/Safari 三大浏览器
-
puppeteer是由谷歌的Chrome团队在维护.
pyppeteer 是非官方 Python 版本的 Puppeteer 库,浏览器自动化库,由日本工程师开发。
selenium playwright puppeteer比较
Puppeteer
参考:
Puppeteer教程
Pyppeteer入门及中文教程
pyppeteer官方文档
Pyppeteer踩坑记录
爬虫漫游指南:无头浏览器puppeteer的检测攻防
Linux安装pyppeteer
Puppeteer 是 Google 基于 Node.js 开发的工具,调用 Chrome 的 API,通过 JavaScript 代码来操纵 Chrome 完成一些操作,用于网络爬虫、Web 程序自动测试等。
selenium
支持多种编程语言
速度慢 ,对开发者不够友好
pyppeteer
pyppeteer 使用了 Python 异步协程库 asyncio,可整合 Scrapy 进行分布式爬虫。
优点
缺点
编程语言只能用javascript
浏览器只能用chromium
下载安装
python3 -m pip install pyppeteer
使用
launch常用配置
执行脚本
dimensions = await page.evaluate('''() => {
return {
width: document.documentElement.clientWidth,
height: document.documentElement.clientHeight,
deviceScaleFactor: window.devicePixelRatio,
}
}''')
Pyppeteer 接受字典和关键字
playwright
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;
可用于移动端。
自动等待元素加载
安装
离线whl:https://pypi.org/project/playwright/#files
pip install playwright
playwright install
下载浏览器