playwright-mcp

playwright-mcp

site icon
2025.03.13 0
Python浏览器自动化网页交互内容提取浏览器自动化
playwright-mcp 是一个基于 Playwright 的 MCP(Model Context Protocol)封装服务,旨在为 LLM(大型语言模型)驱动的客户端提供浏览器自动化控制能力。该服务允许客户端通过协议控制浏览器执行各种自动化任务,如导航、页面交互和内容提取等。
View on GitHub

Overview

基本能力

产品定位

playwright-mcp 是一个浏览器自动化控制服务,专为 LLM 驱动的客户端设计,用于执行网页浏览、交互和内容提取等自动化任务。

核心功能

  1. 浏览器导航:包括导航到特定 URL、创建新页面、切换页面和列出所有可用页面。
  2. 页面交互:支持点击元素、输入文本和等待元素出现等操作。
  3. 内容提取:可以获取元素文本、整个页面的 HTML 内容以及截取页面或元素的屏幕截图。
  4. 页面解释:提供 interpret-page 提示,用于分析网页内容和结构,并可选择性地关注特定方面(如表单、导航、文本等)。

适用场景

  1. 自动化测试:自动执行网页功能测试。
  2. 数据抓取:从网页中提取结构化数据。
  3. 网页监控:定期检查网页内容变化。
  4. 辅助工具:为 LLM 提供实时网页交互能力。

工具列表

  1. Browser navigation
  2. navigate: 导航到特定 URL
  3. new_page: 创建新浏览器页面
  4. switch_page: 切换到不同浏览器页面
  5. get_pages: 列出所有可用浏览器页面

  6. Page interaction

  7. click: 使用 CSS 选择器点击元素
  8. type: 在输入元素中输入文本
  9. wait_for_selector: 等待元素出现在页面上

  10. Content extraction

  11. get_text: 从元素获取文本内容
  12. get_page_content: 获取整个页面 HTML
  13. take_screenshot: 捕获页面或元素的视觉状态

常见问题解答

  1. 调试困难:建议使用 MCP Inspector 进行调试。
  2. 依赖安装:需要先安装 Playwright 和 Chromium。
  3. 发布问题:发布到 PyPI 需要设置正确的凭证。

使用教程

使用依赖

uv add playwright
playwright install chromium

安装教程

  1. Claude Desktop 配置
  2. MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
  3. Windows: %APPDATA%/Claude/claude_desktop_config.json

  4. 开发/未发布服务器配置

"mcpServers": {
  "playwright-mcp": {
    "command": "uv",
    "args": [
      "--directory",
      "/Users/shannon/Workspace/artivus/playwright-mcp",
      "run",
      "playwright-mcp"
    ]
  }
}
  1. 已发布服务器配置
"mcpServers": {
  "playwright-mcp": {
    "command": "uvx",
    "args": [
      "playwright-mcp"
    ]
  }
}

调试方式

npx @modelcontextprotocol/inspector uv --directory /Users/shannon/Workspace/artivus/playwright-mcp run playwright-mcp

启动后,检查器将显示一个可在浏览器中访问的 URL 以开始调试。

许可证

None