Playwright Python:微软出的浏览器自动化库

Playwright Python:微软出的浏览器自动化库

Playwright 的 Python 版本在 GitHub 上已经拿到 14,708 Star 了。

微软开源了这个库,专门做浏览器自动化。Chromium、Firefox、WebKit 三个内核,用同一套 API 就能操控。支持同步和异步两种写法,Linux、macOS、Windows 全平台覆盖。

1、 这玩意儿是干嘛的

一句话:用 Python 代码自动操控浏览器。

填表单、点按钮、截页面、跑测试、抓数据,这些原本需要人手动在浏览器里完成的操作,它都能程序化执行。而且不挑浏览器,Chrome 系、Firefox、Safari 用的 WebKit 内核,一套代码通吃。

脚本写一次,可以反复跑,也可以挂到 CI 流程里定时执行。人不用守着浏览器点来点去。

正文顶部截图

2、 为什么要用它

浏览器自动化这个领域,工具不少。Selenium 用了很多年,但配置驱动、处理弹窗、等待元素这些细节经常让人头疼。Playwright 的设计思路是把这些问题前置解决掉。

自动等待是内置的。你告诉它点击某个按钮,它会先等这个按钮出现在 DOM 里,再确认它可见、可点击,然后才执行动作。不用自己写一堆 sleep 和显式等待,脚本稳定很多。

单 API 多浏览器也是重点。同一个脚本,改个浏览器名称就能在 Chromium、Firefox、WebKit 之间切换,不用为每种浏览器单独维护一套逻辑。测试兼容性的时候省不少事。

网络拦截、模拟设备、地理位置、权限管理这些能力也都封装好了,不需要额外找插件或者自己造轮子。

3、 怎么用

安装很简单,pip 直接装:

pip install playwright
playwright install

同步写法很直接:

from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    for browser_type in [p.chromium, p.firefox, p.webkit]:
        browser = browser_type.launch()
        page = browser.new_page()
        page.goto('http://playwright.dev')
        page.screenshot(path=f'example-{browser_type.name}.png')
        browser.close()

异步写法适合集成到现有 async 项目里:

import asyncio
from playwright.async_api import async_playwright

async def main():
    async with async_playwright() as p:
        for browser_type in [p.chromium, p.firefox, p.webkit]:
            browser = await browser_type.launch()
            page = await browser.new_page()
            await page.goto('http://playwright.dev')
            await page.screenshot(path=f'example-{browser_type.name}.png')
            await browser.close()

asyncio.run(main())

README区域截图

4、 适合哪些人用

  • 写 Web UI 自动化测试的测试工程师
  • 需要爬虫抓动态页面数据的后端开发者
  • 做浏览器端性能测试或兼容性验证的技术团队
  • 需要批量截图、生成 PDF 报表的运维或数据人员

程师

  • 需要爬虫抓动态页面数据的后端开发者
  • 做浏览器端性能测试或兼容性验证的技术团队
  • 需要批量截图、生成 PDF 报表的运维或数据人员
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值