📖 前言
👋 简介
本系列文章主要对playwright工具进行简单介绍,主要针对爬虫领域,web自动化领域涉及相对较少。
本章主要对Playwright自动化框架进行介绍及安装
💡 正文
1 Playwright简介
Playwright是微软开发的Web应用的自动化测试框架,是一款强大的UI自动化工具、新兴爬虫利器。
Playwright的优点:
- 跨浏览器:Playwright 支持所有现代渲染引擎,包括:Chromium、WebKit 和 Firefox
- 跨平台:适用于 Windows、Linux、macOS、本地运行、 CI、headless 和 headed
- 跨语言:在 TypeScript, JavaScript, Python, .NET, Java 中使用 Playwright API
- 自动等待: Playwright 能够自动等待元素达到可操作的状态,外加一系列丰富的内置事件。不用再人工定义超时
- Web 优先的断言:Playwright 断言专门为动态加载的 web 应用设计,能够在满足需要的条件前自动重试
- 可追踪:通过配置重试策略,采用捕捉执行轨迹、视频、截图来解决测试容易失效的问题
- 一切并行:跨越多个 tabs, 多个 origins 和多个 users 的测试场景。在一个测试中能够为不同的用户创建具有不同上下文的场景,并能在你的服务器上运行
- 浏览器上下文:Playwright 为每个测试创建一个浏览器上下文,浏览器上下文相当于一个全新的浏览器配置文件,这提供了零开销的完整测试隔离,创建一个新的浏览器上下文只需要几毫秒。
- 一次登录:保存上下文的身份验证状态并在所有测试中重用它,这绕过了每个测试中的重复登录操作,但提供了独立测试的完全隔离
- Codegen:通过记录您的操作来生成测试,将它们保存为各种语言
2 Playwright与Selenium的区别
区别一:
Selenium 只提供了 Web 自动化功能, 如果你要做自动化测试,需要结合其它自动化测试框架
而 Playwright 是面向自动化测试的,除了Web自动化功能,它也包含了自动化测试的功能框架;
区别二:
两者的自动化原理有些差别,如下图所示,详见视频讲解
3 安装Playwright
pip install playwright -i [https://pypi.tuna.tsinghua.edu.cn/simple](https://pypi.tuna.tsinghua.edu.cn/simple)
4 安装浏览器
playwright install
playwright 这个项目默认使用自己编译好的几种浏览器,比如 chromium, firefox, webkit,这些浏览器是通过各自的开源项目编译出来的。
和我们下载安装的 Chrome,Firefox,Safri 这些品牌浏览器(stock browser)的区别,请看这里
playwright 每个版本都绑定 自编译浏览器的某个版本, 可以通过 官方Release Note 看到对应关系
脚本录制:python -m playwright codegen
,脚本录制参数后续会详细介绍