Playwright

微软推出的浏览器自动化工具,支持模拟浏览器行为

简介

Playwright 是微软推出的现代浏览器自动化工具,支持 Chromium、Firefox、WebKit 三大浏览器引擎。它能够模拟真实用户行为,运行网页、抓取网页数据、自动化测试,是 AI 应用中网页交互的重要工具。

核心能力

1. 模拟浏览器行为

  • 真实浏览器环境
  • 支持 Chrome、Firefox、Safari
  • 模拟用户点击、输入、滚动
  • 处理弹窗、认证、下载

2. 运行网页

  • 无头模式(Headless)
  • 有头模式(可视化调试)
  • 页面截图和录屏
  • 网络请求拦截和修改

3. 抓取网页数据

  • 选择器定位元素
  • 提取文本和属性
  • 处理动态加载内容
  • 处理单页应用(SPA)

4. 自动化测试

  • 端到端(E2E)测试
  • 组件测试
  • 视觉回归测试
  • 测试报告生成

不同素材中的观点

来自 2026-04-29-yupi-ai-guide-programming-tech

  • AI 工具链中的重要开发工具库
  • 模拟浏览器行为,运行网页、抓取网页数据、自动化测试
  • 与 Apache Tika 等组成 AI 应用开发工具栈

来自 2026-06-03-youtube-claude-code-playwright-browser-automation

  • Playwright CLI 是 Claude Code 浏览器自动化的首选方案,核心优势是 Token 效率——Chrome DevTools MCP 每个工具描述很长,占用大量上下文窗口,Playwright CLI 由 Claude Code 直接调用脚本,Token 消耗大幅降低
  • 三种实战场景验证了可行性:(1) QA 自动测试闭环——AI 写表单网站,Playwright 自动填写并测试,发现 Bug 后自动修复;(2) 网页信息抓取——Google 搜索被封锁后自动切换到 DuckDuckGo;(3) 登录态社区自动化——使用 persistent profile 保持 Cookie,自动点赞帖子
  • 脚本迭代是关键:首次运行几乎不可能完美,但 AI 能从截图和错误日志中分析问题,自动更新脚本;以点赞功能为例,经历了”重复点击导致取消点赞 → 识别颜色区分已/未点赞 → 跳过已点赞帖子”的 4-5 次迭代
  • 与定时任务结合形成完整自动化工作流:Playwright CLI 脚本可以封装为 Skill,配合 Claude Code Desktop 的 scheduled tasks 实现每天自动执行(社区互动、新闻摘要、评论回复),且每次执行时 Agent 会根据实际情况灵活应对

实用信息

官方资源

快速开始

安装

npm init playwright@latest
# or
pip install playwright
playwright install

基础用法

from playwright.sync_api import sync_playwright
 
with sync_playwright() as p:
    browser = p.chromium.launch()
    page = browser.new_page()
    page.goto('https://example.com')
    print(page.title())
    browser.close()

与 AI 结合的典型场景

1. 智能网页抓取

  • AI 理解需求,自动生成抓取逻辑
  • Playwright 执行实际抓取
  • AI 处理和结构化抓取结果

2. 自动化测试生成

  • AI 根据需求描述生成测试用例
  • Playwright 执行自动化测试
  • AI 分析测试结果,生成报告

3. AI 网页助手

  • 用户用自然语言描述操作
  • AI 生成 Playwright 脚本
  • Playwright 执行操作,返回结果

4. Claude Code + Playwright CLI 浏览器自动化(推荐方案)

  • Claude Code 通过命令行调用 Playwright 脚本,而非通过 MCP 协议
  • Token 效率优势:Chrome DevTools MCP 有几十个工具,每个工具描述很长,占用大量上下文;Playwright CLI 仅需一次脚本调用
  • Persistent Profile 保持登录态:使用现有 Chrome 用户数据目录启动浏览器,首次手动登录后 Cookie 自动保存
  • Headed vs Headless 模式:调试用 headed(可见浏览器窗口),生产定时任务用 headless(后台运行)
  • 关键:脚本需要迭代:首次运行几乎不可能完美,需要 AI 从截图和错误中学习并更新脚本,通常 3-5 次迭代后达到稳定

Claude Code 集成 Prompt 示例

初始化

I want to use Playwright CLI in order to do some browser automation stuff, whether that means testing out web apps or getting screenshots of things. I just need you to figure out how you can install this for me and then go ahead and build a plan and let’s do it.

QA 自动测试

Spin up a server so that you can actually run this. And then what I want you to do is use your browser use and test it out. So, fill in the fields, click through and if there’s any bugs or if there’s anything wrong with the functionality of the site, make note so that you can go ahead and fix the actual site itself. I also want you to do this in a headed browser so that I can watch what’s going on.

优势

  • 现代架构:支持所有现代浏览器特性
  • 自动等待:智能等待元素就绪,减少 flaky 测试
  • 网络拦截:完整的请求拦截和修改能力
  • 多浏览器:一套代码支持三大浏览器引擎
  • 多语言:支持 JavaScript/TypeScript、Python、Java、.NET

相关工具对比

工具PlaywrightPuppeteerSelenium
维护方微软GoogleSelenium 社区
浏览器支持三大引擎Chromium 为主全浏览器
现代特性全面支持较好部分支持
稳定性
AI 集成友好度⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐

相关页面