如何将Claude Code与Playwright MCP配合使用:完整设置指南

Claude Code Playwright MCP Model Context Protocol

什么是Playwright MCP?

Playwright MCP服务器为任何Model Context Protocol客户端提供浏览器自动化的超强能力。服务器不是要求AI"查看"像素,而是返回页面的结构化可访问性快照,模型通过参考ID与元素交互。这使循环快速、确定性,并且没有视觉模型的开销。它适用于VS Code、Cursor、Windsurf、Claude Desktop、Claude Code以及任何其他MCP客户端。

特别是对于Claude Code,这意味着您终端中的代理现在可以打开浏览器、点击、填写表单、模拟网络请求、捕获截图,甚至执行自定义Playwright脚本——所有这些都由自然语言提示驱动。

Thumbnail for 如何将Claude Code与Playwright MCP配合使用:完整设置指南

前置条件

在开始之前,请确保您有:

  • 已安装Node.js 18或更新版本
  • 已安装Claude Code并已登录(在终端中运行claude以验证)
  • 您熟悉的终端

仅此而已——Playwright MCP在首次运行时会下载自己的浏览器二进制文件。

FlowHunt 标志

准备好发展您的业务了吗?

今天开始免费试用,几天内即可看到结果。

设置Playwright MCP集成

将Playwright MCP连接到Claude Code只需一个命令。按照以下步骤进行连接:

添加Playwright MCP服务器

打开您的终端并运行:

claude mcp add playwright npx @playwright/mcp@latest

这注册了一个名为playwright的新MCP服务器,每当Claude Code需要浏览器工具时就会通过npx启动它。第一次调用会下载软件包和所需的浏览器二进制文件,所以第一次请给它一分钟时间。

验证连接

启动新的Claude Code会话并运行/mcp命令:

claude
/mcp

您应该看到playwright列为已连接的服务器,以及它公开的工具(导航、点击、输入、截图、网络模拟等)。

架构图,显示Claude Code如何通过Playwright MCP服务器与浏览器通信

可选:改用JSON配置

如果您更喜欢直接编辑配置文件,可以使用标准MCP格式将同一服务器添加到~/.claude.json(或项目范围的.mcp.json):

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": [
        "@playwright/mcp@latest"
      ]
    }
  }
}

编辑文件后重启Claude Code,服务器将出现在/mcp中。

您在Claude Code中的第一个浏览器自动化

连接服务器后,您的提示现在可以驱动真实浏览器。尝试Playwright文档中的规范第一个交互:

导航到https://demo.playwright.dev/todomvc并添加几个待办事项。

Claude Code将打开浏览器、请求页面的可访问性快照、通过其元素参考定位输入、输入每个待办事项,并在终端中向您确认结果。

**关于哪个浏览器打开的提示:**默认情况下,这会以有头模式启动Chromium。要更改它,请将标志添加到MCP配置中的args并重启Claude Code:使用--headless隐藏窗口,或使用--browser=firefox|webkit|msedge切换引擎。

可访问性快照的工作原理

当Playwright MCP工具运行时,它返回页面的结构化快照——元素角色、文本内容和参考ID——而不是像素。Claude读取快照并使用诸如ref=e5之类的引用来输入文本框或ref=e10来切换复选框。没有像素推送,没有脆弱的CSS选择器——只是模型可以推理的结构化页面状态。

Claude读取的可访问性快照与人类看到的呈现的TodoMVC页面的并排比较

您可以从Claude Code使用的核心功能

连接Playwright MCP后,您会给同事的相同提示在Claude Code中工作:

  • 导航:“转到example.com”、“返回”、“重新加载页面”。
  • 点击和输入:“点击提交按钮”、“用test@example.com填写电子邮件字段”。
  • 截图:“截取定价部分的截图”。
  • **键盘和鼠标:**按键、悬停、拖放。
  • **标签页和对话框:**打开新标签页、在它们之间切换、接受或关闭弹出窗口。
  • 网络监控:“列出页面加载以来发出的请求”。
  • API模拟:“模拟/api/users端点以返回空数组”。
  • **存储状态:**将经过身份验证的会话保存到文件并稍后重新加载它们。

对于需要多个工具调用的工作流,您可以要求Claude Code调用browser_run_code并内联执行Playwright脚本——对于断言、数据提取或任何受益于几行命令式代码的任务都很有用。

有用的配置选项

Playwright MCP有一些值得了解的标志。将它们添加到配置中的args数组中(或在claude mcp add命令后的--之后)。

无头模式

浏览器默认以有头模式运行,以便您可以观看发生的情况。要运行无头模式——对于CI或远程shell很有用——传递--headless

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": [
        "@playwright/mcp@latest",
        "--headless"
      ]
    }
  }
}

选择浏览器

使用--browser标志切换引擎。支持的值为chromefirefoxwebkitmsedge

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": [
        "@playwright/mcp@latest",
        "--browser=firefox"
      ]
    }
  }
}

配置文件模式

Playwright MCP支持三种配置文件模式:

  • **持久(默认):**登录状态和Cookie在会话之间持续存在。
  • **隔离:**传递--isolated以全新启动每个会话,可选地使用--storage-state进行初始化。
  • **浏览器扩展:**传递--extension以通过Playwright MCP Bridge扩展附加到您现有的浏览器标签页。

独立HTTP服务器

如果您需要在没有显示器的地方运行有头浏览器(或从IDE worker),请单独启动服务器并通过HTTP连接。

打开第二个终端——让它在整个会话期间保持运行——并在那里启动服务器:

npx @playwright/mcp@latest --port 8931

保持该终端打开。它是在localhost:8931上公开浏览器的东西,这样您可以在自己的浏览器中查看会话,Claude Code也有东西可以连接。关闭终端会关闭服务器。

然后,在运行Claude Code的终端中,通过更新配置将其指向端点:

{
  "mcpServers": {
    "playwright": {
      "url": "http://localhost:8931/mcp"
    }
  }
}

值得借鉴的实际工作流

连接Playwright MCP后,Claude Code可以处理端到端测试脚手架、bug重现、API模拟检查、页面审计和发布冒烟测试——任何涉及驱动浏览器和报告的内容。

有两件事使这些提示在实践中真正有效。首先,项目根目录中的CLAUDE.md,记录您的暂存URL、演示凭证和代理应遵循的任何约定——没有它,“以演示用户身份登录"就没有任何参考。其次,如果您希望Claude Code从问题或工单中提取上下文,请连接第二个MCP服务器——GitHub MCP服务器 是常见的选择。跳过两者,Claude Code会(合理地)询问您问题#482是什么。

为什么将Claude Code与Playwright MCP配对?

有几个原因使这个组合难以比拟:

  • **终端原生:**所有事情都发生在您已经工作的地方。无需切换到单独的测试运行器。
  • **可访问性优先:**快照在速度和可靠性方面优于截图,并且无需视觉模型即可工作。
  • **底层是真实的Playwright:**您可以用Playwright代码做任何事情,您都可以在这里做——多浏览器、网络模拟、存储状态等。
  • **与其他MCP服务器可组合:**将Playwright与GitHub、您的数据库或监控MCP服务器堆叠在一起,Claude Code可以跨所有这些端到端移动工作。
  • **开放标准:**MCP是便携的。同一Playwright服务器在Cursor、VS Code、Windsurf和Claude Desktop中工作,如果您切换客户端。

添加服务器、运行/mcp进行确认,您的下一个"去测试登录页面"提示就会变成真实的浏览器会话——由Claude Code驱动、在有头模式中观看(或不观看),并可通过可访问性快照验证。

常见问题

阿尔西亚是 FlowHunt 的一名 AI 工作流程工程师。拥有计算机科学背景并热衷于人工智能,他专注于创建高效的工作流程,将 AI 工具整合到日常任务中,从而提升生产力和创造力。

阿尔西亚·卡哈尼
阿尔西亚·卡哈尼
AI 工作流程工程师

立即使用Claude Code自动化浏览器

停止点击重复的浏览器任务。将Playwright MCP插入Claude Code,让您的终端驱动网页。