Claude Code教程(九)| MCP 之 Playwright

Claude Code教程(九)| MCP 之 Playwright

一、是什么

Playwright MCP 是 Microsoft 官方提供的 MCP Server,基于 Playwright 实现浏览器自动化。它通过浏览器的 accessibility tree(无障碍树) 获取页面结构化数据,而非依赖像素截图,因此速度快、结果确定性强、不消耗 vision 模型。

接入后 Agent 可直接控制浏览器:打开页面、点击、填表、截图、执行 JS、网络拦截等。


二、前置条件

  • Node.js >= 18
  • 首次运行时 Playwright 会自动下载浏览器二进制(Chromium / Firefox / WebKit)

三、接入方式

方式一:claude mcp add(推荐)

场景一:全局,所有项目生效(推荐)

配置文件 ~/.claude.json → 根节点

bash 复制代码
claude mcp add -s user playwright npx '@playwright/mcp@latest'

卸载:

bash 复制代码
claude mcp remove -s user playwright

场景二:当前项目,可团队共享

配置文件 项目根 .mcp.json

bash 复制代码
claude mcp add -s project playwright npx '@playwright/mcp@latest'

卸载:

bash 复制代码
claude mcp remove -s project playwright

场景三:仅当前目录

配置文件 ~/.claude.json → 该目录节点

bash 复制代码
claude mcp add playwright npx '@playwright/mcp@latest'

卸载:

bash 复制代码
claude mcp remove playwright

方式二:手动 JSON 配置

全局 → 编辑 ~/.claude.json:

json 复制代码
{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": ["@playwright/mcp@latest"]
    }
  }
}

项目级 → 编辑项目根目录 .mcp.json,内容同上,可提交 Git 供团队共享。

卸载:删除配置文件中对应的 playwright 条目,或直接删除 .mcp.json 文件。


方式三:Docker 模式

bash 复制代码
docker run -p 8931:8931 mcr.microsoft.com/playwright/mcp

仅支持 headless Chromium,功能受限,一般不推荐。

卸载:

bash 复制代码
docker stop <容器ID>
docker rm <容器ID>

四、Windows 注意事项

Playwright MCP 只有本地 npx 模式,没有远程 HTTP 服务端。如果出现 MCP error -32000: Connection closed,改为 cmd /c 包裹:

json 复制代码
{
  "mcpServers": {
    "playwright": {
      "command": "cmd",
      "args": ["/c", "npx", "@playwright/mcp@latest"]
    }
  }
}

五、验证

bash 复制代码
claude mcp list

看到 playwright 且状态为 ✓ Connected 即成功。


六、使用方式

重启 Claude Code 会话后(新 MCP server 不会在当前会话加载),直接描述浏览器操作:

"用 playwright mcp 打开 example.com,截个图"

"playwright 打开百度首页,搜索 Claude Code"

Agent 会依次调用 browser_navigate → browser_snapshot → browser_click 等工具自动完成。


七、常用配置参数

bash 复制代码
claude mcp add -s user playwright npx '@playwright/mcp@latest' --headless --isolated
参数 作用 默认值
--headless 无头模式,不显示窗口 关闭(headed)
--browser 浏览器类型:chrome firefox webkit msedge chrome
--isolated 每次启动干净浏览器,不保存登录态 关闭
--caps vision 启用像素级鼠标操作(坐标点击、拖拽) 关闭
--caps pdf 启用 PDF 生成 关闭
--caps devtools 启用 trace、录像、元素高亮 关闭
--timeout-action 操作超时,单位毫秒 5000
--timeout-navigation 导航超时,单位毫秒 60000

添加后如需修改,先 claude mcp remove -s user playwright 卸载,再 claude mcp add 重新添加新参数。


八、核心工具一览

工具 用途
browser_navigate 打开指定 URL
browser_snapshot 获取页面无障碍树结构
browser_click 点击元素
browser_type 输入文本
browser_take_screenshot 截屏
browser_evaluate 执行 JavaScript
browser_fill_form 批量填表
browser_network_requests 查看网络请求
browser_console_messages 查看控制台日志
browser_close 关闭浏览器

更多工具(鼠标像素操作、PDF 生成、录屏等)通过 --caps 参数启用。


九、浏览器持久化

默认浏览器登录态保存到 ~/.cache/ms-playwright/mcp-{channel}-{hash},关浏览器再开会话丢失。

  • 需要每次干净环境 → 加 --isolated
  • 需要指定保存位置 → 加 --user-data-dir <路径>
相关推荐
VIP_CQCRE11 小时前
Claude Code 接入 NanoBanana MCP:用 Ace Data Cloud 在开发对话里生成与编辑图片
ai绘画·mcp·claude code·nanobanana·ace data cloud
范中勤12 小时前
Agent IDE 双层异步调用机制:前端流式与后端多分支调度,到底各自解决什么问题
llm·agent·claude code·subagent·异步架构
浩风祭月1 天前
Claude Haiku 5.5来了:适合哪些任务?“便宜75%”为什么不是会员降价
claude·ai模型·claude code·claude haiku
Maynor9963 天前
让 AI 编程助手学会做视频、做 PPT:Agent Skills 入门与安装全指南
人工智能·aigc·ai编程·效率工具·cursor·claude code
Maynor9964 天前
开源12个电商出图Agent Skills:GPT Image 2.5一键出图
gpt·ai绘画·跨境电商·claude code·agent skills·gpt image
️公子4 天前
Claude Code 2.1.289 补上四个 deny 缺口:Agent 权限匹配器的规范化、分层裁决与回归语料
软件工程·ai agent·权限控制·claude code·安全工程
Orange_sparkle12 天前
langgraph快速入门
学习·ai·typescript·deepseek·claude code