MCP Browser Automation Server

MCP Browser Automation Server

site icon
2025.03.09 0
Python浏览器自动化浏览器自动化
MCP Browser Automation Server 是一个简单但功能强大的浏览器自动化服务,允许用户通过 REST API 控制浏览器、截取屏幕截图以及实时监控控制台日志。该服务适用于需要自动化浏览器操作的场景,如网页测试、数据抓取和自动化任务执行。
View on GitHub

Overview

基本能力

产品定位

MCP Browser Automation Server 是一个浏览器自动化服务,旨在通过 REST API 提供对浏览器的控制能力,包括导航、截图、表单填写和日志监控等功能。

核心功能

  • 创建和管理浏览器会话
  • 导航到指定 URL
  • 截取全屏或特定元素的截图
  • 点击页面元素
  • 填写表单输入
  • 通过 WebSocket 实时监控控制台日志
  • 关闭会话

适用场景

  • 网页自动化测试
  • 数据抓取和爬虫
  • 自动化任务执行
  • 实时监控网页控制台日志

使用教程

使用依赖

  1. 克隆仓库并进入目录:
git clone https://github.com/weir1/mcp-browser-automation.git
cd mcp-browser-automation
  1. 创建并激活虚拟环境:
python -m venv venv
.\venv\Scripts\Activate
  1. 安装依赖:
pip install -r requirements.txt
  1. 安装 Playwright 浏览器:
playwright install

安装教程

  1. 启动服务:
python server.py

服务将在 http://localhost:8000 上启动。

调试方式

  1. 创建会话:
POST /session/create
Response: { "session_id": "..." }
  1. 导航到 URL:
POST /session/{session_id}/navigate?url=https://example.com
  1. 截取截图:
POST /session/{session_id}/screenshot?name=screenshot1&selector=.my-element
  1. 点击元素:
POST /session/{session_id}/click?selector=.my-button
  1. 填写表单:
POST /session/{session_id}/fill?selector=input[name="username"]&value=myuser
  1. 监控控制台日志:
WebSocket /session/{session_id}/console
  1. 关闭会话:
POST /session/{session_id}/close

常见问题解答

  • 如何截取特定元素的截图? 在 /session/{session_id}/screenshot 端点中提供 selector 参数。
  • 如何实时监控控制台日志? 通过 WebSocket 连接到 /session/{session_id}/console 端点。
  • 如何关闭会话? 使用 /session/{session_id}/close 端点。

许可证

该项目遵循 MIT 开源许可条款。