在 Web 自动化测试和爬虫领域,Selenium 统治了很长一段时间。但随着现代 Web 技术的发展,Selenium 的速度和稳定性逐渐成为瓶颈。微软开源的 Playwright 横空出世,支持 Chromium、Firefox 和 WebKit 三大浏览器引擎,并且速度极快,API 设计也非常现代化。
本文将介绍如何在 Python 中使用 Playwright 进行自动化操作。
为什么选择 Playwright?
- 跨浏览器支持:一次编写,随处运行(Chromium, Firefox, WebKit)。
- 速度快:基于 WebSocket 通信,比 WebDriver 协议更快。
- 自动等待:Playwright 会自动等待元素准备好(可见、可点击),告别了手动写
time.sleep或WebDriverWait的痛苦。 - 强大的工具链:支持录制脚本(Codegen)、截图、录屏等。
安装
Playwright 的安装非常简单:
|
playwright install 会自动下载所需的浏览器二进制文件。
快速上手
Playwright 支持同步(Sync)和异步(Async)两种 API。对于简单的脚本,同步 API 足够好用;对于高性能爬虫,推荐使用异步 API。
同步模式示例
|
异步模式示例
|
实用技巧:脚本录制
Playwright 提供了一个神器 codegen,可以记录你的浏览器操作并生成代码:
|
运行后会弹出一个浏览器窗口和一个代码窗口,你在浏览器里的操作(点击、输入等)会实时转化为 Python 代码,简直是懒人福音!
总结
Playwright 是目前最推荐的 Web 自动化工具之一。无论是做爬虫还是 UI 测试,它都能提供比 Selenium 更流畅的体验。如果你还在忍受 Selenium 的各种莫名报错,不妨试试 Playwright。
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 阿文的博客!