惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

C
CXSECURITY Database RSS Feed - CXSecurity.com
K
Kaspersky official blog
A
Arctic Wolf
Attack and Defense Labs
Attack and Defense Labs
L
LINUX DO - 热门话题
N
News | PayPal Newsroom
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
L
Lohrmann on Cybersecurity
PCI Perspectives
PCI Perspectives
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
The Last Watchdog
The Last Watchdog
B
Blog RSS Feed
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
W
WeLiveSecurity
Know Your Adversary
Know Your Adversary
博客园 - Franky
T
Tenable Blog
T
Tailwind CSS Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Help Net Security
Help Net Security
WordPress大学
WordPress大学
T
The Exploit Database - CXSecurity.com
www.infosecurity-magazine.com
www.infosecurity-magazine.com
博客园 - 司徒正美
阮一峰的网络日志
阮一峰的网络日志
D
Darknet – Hacking Tools, Hacker News & Cyber Security
H
Heimdal Security Blog
TaoSecurity Blog
TaoSecurity Blog
S
Security Affairs
J
Java Code Geeks
小众软件
小众软件
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Apple Machine Learning Research
Apple Machine Learning Research
NISL@THU
NISL@THU
O
OpenAI News
The Cloudflare Blog
月光博客
月光博客
Google Online Security Blog
Google Online Security Blog
V
V2EX
罗磊的独立博客
美团技术团队
博客园 - 三生石上(FineUI控件)
Security Latest
Security Latest
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
C
Cyber Attacks, Cyber Crime and Cyber Security
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Cyberwarzone
Cyberwarzone
L
LINUX DO - 最新话题
Hacker News - Newest:
Hacker News - Newest: "LLM"
大猫的无限游戏
大猫的无限游戏

博客园 - 陈晓猛

验证网络ipv6的可用性 docker compose对应的内容,创建thread网络后连接设备 ONVIF协议与RTSP协议 OpenClaw:接入minimax-2.5的新手指引 Windows 端 OpenClaw 安装教程(保姆级) 使用zigbee2mqtt模拟发送信息 HA上配置MQTT esphome模拟IOT设备连接到HA ESPHome模拟设备脚本 自制hash_v1和hash_v2种子文件 接口 CDN(动态 CDN/API 网关 CDN)测试用例 cf-cache-status共有几种状态分别会在什么情况下产生 接口接入cdn和网页接入cdn的区别 pip安装依赖包报错内容为User defined options,Native files 如何解决 MCP:Trae中集成Playwright 实现网页自动化测试 测试用例设计检查项 npm 无法加载文件npm.ps1 文档收集地址 Ugreen记录验证不同国家码对应的跳转链接 error: command 'C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.44.35207\bin\HostX86\x64\cl.exe' failed with exit code 2 解决方案 - 陈晓猛 VScode在顶部生成作者信息 Cursor使用小技巧(待更新) Trae 接入 Claude 3.7:AI 编程工具界的“卷王”,完全免费 提高研发效能——基于 DeepSeek-V3的本地化实践 大模型&ai学习课程一些笔记 P图训练模型 python3安装crypto出错及解决方法 windows搭建syncthing中继服务器和发现服务器
如何给Playwright 添加 MCP(Microsoft Playwright Component Testing)
陈晓猛 · 2025-09-09 · via 博客园 - 陈晓猛

一、Playwright 和 MCP协议 是什么?

Playwright:跨浏览器自动化的“瑞士军刀”。Playwright是微软开源的自动化测试工具,其核心优势在于:

跨浏览器支持:原生兼容Chromium(Chrome/Edge)、Firefox、WebKit(Safari),无需手动安装驱动

自动等待机制:操作前自动等待元素加载,减少硬编码sleep

智能选择器:支持Shadow DOM穿透和动态元素定位,降低维护成本

多场景覆盖:支持文件上传下载、跨域操作、移动端模拟等复杂需求

MCP协议:标准化AI与工具的“对话”

MCP协议通过定义统一的通信标准,让LLM能够无缝调用外部工具(如浏览器、数据库、本地文件)。其核心价值体现在:

要添加 Playwright 的 MCP(Microsoft Playwright Component Testing),你需要通过 npm 安装相关包并进行配置。以下是具体步骤:

标准化交互:开发者只需实现一次MCP Server,即可适配所有支持MCP的客户端(如WindSurf、Cline)。
动态灵活性:支持实时生成指令,例如根据页面状态动态调整操作流程。
安全性:内置权限控制,防止LLM越权访问敏感数据。

以Playwright的MCP Server为例,其工作流程如下:
指令接收:LLM发送自然语言描述(如“点击登录按钮”)。
指令解析:将自然语言转化为Playwright的API调用(如page.click("#login"))。
结果返回:将操作结果(截图、日志等)反馈给LLM。

二、Playwright+mcp如何“快速”实现浏览器自动化?

环境搭建

1、安装Playwright

安装Python环境
:确保Python版本≥3.7(推荐3.8+)
pip install playwright
python -m playwright install
#版本不匹配
playwright install --force chrome
安装Playwright Test for VSCode插件
:
在VS Code扩展商店搜索并安装"Playwright Test for VSCode"

2、部署MCP Server

npx @playwright/mcp@latest
#或者
npm install -g @playwright/mcp
启动
npx @playwright/mcp@latest

客户端配置(以VSCode Cline为例)

安装Cline插件

image

打开终端(命令提示符或 PowerShell),在你的项目目录中运行以下命令:

code --add-mcp '{"name":"playwright","command":"npx","args":["@playwright/mcp@latest"]}'

在运行上诉命令时出现了一系列问题,尝试多种输入方式始终无法正确配置————这里我先跳过,等以后找到真正的解决方案的时候再来添加相关内容

PS C:\Users\5185> code --add-mcp "{\"name\":\"playwright\",\"command\":\"npx\",\"args\":[\"@playwright/mcp@latest\"]}"
Invalid JSON '{\': SyntaxError: Expected property name or '}' in JSON at position 1 (line 1 column 2)
PS C:\Users\5185> code --add-mcp '{"name":"playwright","command":"npx","args":["@playwright/mcp@latest"]}' Invalid JSON '{name:playwright,command:npx,args:[@playwright/mcp@latest]}': SyntaxError: Expected property name or '}' in JSON at position 1 (line 1 column 2)
PS C:\Users\
5185> code --add-mcp "`"name`":`"playwright`",`"command`":`"npx`",`"args`":[`"@playwright/mcp@latest`"]}" Invalid JSON 'name:playwright,command:npx,args:[@playwright/mcp@latest]}': SyntaxError: Unexpected token 'a', "name:playwr"... is not valid JSON
PS C:\Users\
5185> $mcpConfig = '{"name":"playwright","command":"npx","args":["@playwright/mcp@latest"]}' PS C:\Users\5185> code --add-mcp $mcpConfig Invalid JSON '{name:playwright,command:npx,args:[@playwright/mcp@latest]}': SyntaxError: Expected property name or '}' in JSON at position 1 (line 1 column 2)
  1. 打开 VS Code
  2. 按下 Ctrl+Shift+P 打开命令面板
  3. 输入并执行 Extensions: Install Extensions
  4. 搜索 Playwright 扩展并安装(由 Microsoft 官方发布)
  5. 安装完成后,重新启动 VS Code,MCP 相关功能会自动配置

先用上述的方式跳过命令行参数传递,直接通过 VS Code 图形界面安装扩展,避免 JSON 解析问题

声明 欢迎转载,但请保留文章原始出处:) 博客园:https://www.cnblogs.com/chenxiaomeng/ 如出现转载未声明 将追究法律责任~谢谢合作