写点什么

使用 Playwright MCP Server 为你的 AI Agent 赋予浏览器自动化能力

作者:测试人
  • 2025-10-14
    北京
  • 本文字数:2039 字

    阅读完需:约 7 分钟

你是否曾经希望你的 AI 助手不仅能回答问题,还能真正帮你操作网页——自动填写表单、抓取数据、执行重复性任务?现在,通过 Playwright MCP Server,这一切都成为了可能。

本文将带你从零开始,一步步将浏览器自动化能力赋予你的 AI Agent,让它从一个被动的知识库转变为一个能主动执行任务的数字助手。

一、 基础概念:什么是 MCP 和 Playwright?

MCP

MCP 是 Anthropic 推出的一个开放协议,它允许 AI 模型安全、可控地访问外部工具和数据源。你可以把它想象成 AI 的"USB 接口"——通过标准化的方式连接各种外部能力。

Playwright

Playwright 是一个现代化的浏览器自动化库,支持 Chrome、Firefox、Safari 等主流浏览器。它比传统的 Selenium 更快速、更可靠,特别适合处理现代 Web 应用。

Playwright MCP Server

这就是连接 AI 与浏览器的桥梁!它是一个实现了 MCP 协议的服务器,将 Playwright 的浏览器操作能力"暴露"给 AI 模型,让 AI 能够:

  • 导航到网页

  • 点击按钮和链接

  • 填写表单

  • 提取文本内容

  • 截图和下载文件

二、 环境准备:搭建你的开发环境

步骤 1:安装 Node.js 和 npm

Playwright MCP Server 基于 Node.js 开发,首先需要安装运行环境:

  1. 访问 Node.js 官网

  2. 下载并安装 LTS 版本(推荐 18.x 或更高)

  3. 验证安装:

node --versionnpm --version
复制代码

步骤 2:获取 Playwright MCP Server

目前最方便的方式是使用 Anthropic 官方提供的版本:

# 克隆仓库git clone https://github.com/anthropics/anthropic-mcp-playwrightcd anthropic-mcp-playwright
# 安装依赖npm install
# 安装Playwright浏览器npx playwright install
复制代码

三、 配置与连接:让 AI Agent 认识新工具

配置 Claude Desktop(推荐方案)

如果你使用 Claude Desktop,配置非常简单:

找到 Claude Desktop 的配置目录:

  • macOS: ~/Library/Application Support/Claude/

  • Windows: %APPDATA%\Claude\

  • Linux: ~/.config/Claude/

创建或编辑配置文件 claude_desktop_config.json:

{  "mcpServers": {    "playwright": {      "command": "node",      "args": [        "/绝对路径/anthropic-mcp-playwright/dist/index.js"      ],      "env": {        "BROWSER": "chromium"      }    }  }}
复制代码

注意:请将 /绝对路径/ 替换为你实际克隆仓库的路径。

重启 Claude Desktop,大功告成!

验证连接

重启后,在 Claude 的对话界面中,你可以尝试询问:

"你现在有哪些可用的工具?"

Claude 应该会回复它现在可以使用的 Playwright 工具列表,包括:

  • navigate - 导航到指定 URL

  • click - 点击页面元素

  • fill - 填写表单

  • extract_text - 提取文本内容

  • 等等...

四、 第一个自动化任务:从"Hello World"开始

让我们从一个简单的例子开始,感受 AI 自动化的魅力。

任务:获取今日天气

你的指令

"请打开百度首页 (https://www.baidu.com),在搜索框里输入'北京天气',然后搜索。"

Claude 的执行过程

  1. 理解指令:Claude 识别出需要执行浏览器操作

  2. 调用工具:自动选择并调用相应的 MCP 工具

  3. 执行序列

  • 使用 navigate 工具打开百度

  • 使用 click_and_fill 工具在搜索框输入"北京天气"

  • 使用 click 工具点击搜索按钮

返回结果:页面加载后,Claude 会读取搜索结果并总结天气信息

整个过程完全自动化!你不需要手动操作浏览器,也不需要复制粘贴任何内容。

五、 核心工具详解:AI 能做什么?

现在你的 AI Agent 已经具备了以下超能力:

基础导航操作

  • navigate(url) - 跳转到指定网页

  • go_back() - 返回上一页

  • go_forward() - 前进到下一页

  • reload() - 刷新页面

页面交互

  • click(selector) - 点击元素

  • fill(selector, text) - 填写文本

  • select_option(selector, value) - 选择下拉选项

内容获取

  • extract_text(selector) - 提取特定元素的文本

  • get_page_content() - 获取整个页面的文本内容

等待与状态管理

  • wait_for_selector(selector) - 等待元素出现

  • wait_for_timeout(ms) - 等待指定时间

六、 实用场景示例

场景 1:自动化数据收集

指令

"去豆瓣电影 Top250 页面 (https://movie.douban.com/top250),提取前 5 部电影的名称和评分,整理成表格。"

场景 2:自动化表单填写

指令

"打开一个练习用的注册页面,帮我填写测试用户信息:用户名 testuser,邮箱 test@example.com,密码 Password123。"

场景 3:多步骤工作流

指令

"先登录到我的测试系统(账号: demo, 密码: demo),然后导航到用户管理页面,创建一个新用户'john_doe'。"

七、 最佳实践与技巧

编写清晰的指令

  • 明确目标:说清楚要完成什么任务

  • 提供必要信息:包括 URL、账号信息等

  • 分步骤思考:复杂任务可以分解成多个步骤

选择器策略

AI 通常会自动选择合适的选择器,但你可以指导它:

  • "使用包含'登录'文本的按钮"

  • "通过 ID 定位搜索框"

错误处理

当操作失败时:

  • 让 AI 分析错误原因

  • 尝试替代方案

  • 调整等待时间或选择器

八、 常见问题排查

问题 1:Claude 找不到 MCP Server

  • 检查配置文件路径是否正确

  • 确认 Node.js 已正确安装

  • 查看 Claude Desktop 日志获取详细错误信息

问题 2:浏览器操作失败

  • 确保网络连接正常

  • 检查目标网站是否可访问

  • 尝试增加等待时间:wait_for_timeout(2000)

问题 3:元素找不到

  • 页面可能还未完全加载,增加等待

  • 选择器可能已过时,尝试其他定位方式

用户头像

测试人

关注

专注于软件测试开发 2022-08-29 加入

霍格沃兹测试开发学社,测试人社区:https://ceshiren.com/t/topic/22284

评论

发布
暂无评论
使用 Playwright MCP Server 为你的 AI Agent 赋予浏览器自动化能力_软件测试_测试人_InfoQ写作社区