
playwright-mcp

2025.03.13
0
Python浏览器自动化网页交互内容提取浏览器自动化
playwright-mcp 是一个基于 Playwright 的 MCP(Model Context Protocol)封装服务,旨在为 LLM(大型语言模型)驱动的客户端提供浏览器自动化控制能力。该服务允许客户端通过协议控制浏览器执行各种自动化任务,如导航、页面交互和内容提取等。
View on GitHub
Overview
基本能力
产品定位
playwright-mcp 是一个浏览器自动化控制服务,专为 LLM 驱动的客户端设计,用于执行网页浏览、交互和内容提取等自动化任务。
核心功能
- 浏览器导航:包括导航到特定 URL、创建新页面、切换页面和列出所有可用页面。
- 页面交互:支持点击元素、输入文本和等待元素出现等操作。
- 内容提取:可以获取元素文本、整个页面的 HTML 内容以及截取页面或元素的屏幕截图。
- 页面解释:提供
interpret-page
提示,用于分析网页内容和结构,并可选择性地关注特定方面(如表单、导航、文本等)。
适用场景
- 自动化测试:自动执行网页功能测试。
- 数据抓取:从网页中提取结构化数据。
- 网页监控:定期检查网页内容变化。
- 辅助工具:为 LLM 提供实时网页交互能力。
工具列表
- Browser navigation
navigate
: 导航到特定 URLnew_page
: 创建新浏览器页面switch_page
: 切换到不同浏览器页面-
get_pages
: 列出所有可用浏览器页面 -
Page interaction
click
: 使用 CSS 选择器点击元素type
: 在输入元素中输入文本-
wait_for_selector
: 等待元素出现在页面上 -
Content extraction
get_text
: 从元素获取文本内容get_page_content
: 获取整个页面 HTMLtake_screenshot
: 捕获页面或元素的视觉状态
常见问题解答
- 调试困难:建议使用 MCP Inspector 进行调试。
- 依赖安装:需要先安装 Playwright 和 Chromium。
- 发布问题:发布到 PyPI 需要设置正确的凭证。
使用教程
使用依赖
uv add playwright
playwright install chromium
安装教程
- Claude Desktop 配置
- MacOS:
~/Library/Application\ Support/Claude/claude_desktop_config.json
-
Windows:
%APPDATA%/Claude/claude_desktop_config.json
-
开发/未发布服务器配置
"mcpServers": {
"playwright-mcp": {
"command": "uv",
"args": [
"--directory",
"/Users/shannon/Workspace/artivus/playwright-mcp",
"run",
"playwright-mcp"
]
}
}
- 已发布服务器配置
"mcpServers": {
"playwright-mcp": {
"command": "uvx",
"args": [
"playwright-mcp"
]
}
}
调试方式
npx @modelcontextprotocol/inspector uv --directory /Users/shannon/Workspace/artivus/playwright-mcp run playwright-mcp
启动后,检查器将显示一个可在浏览器中访问的 URL 以开始调试。
许可证
None