Mcp Browser Automation Server

Mcp Browser Automation Server

🚀 MCP 浏览器自动化服务器

MCP 浏览器自动化服务器是一款简单却功能强大的工具,它支持通过 REST API 对浏览器进行灵活控制,能够截取屏幕截图,还能实时监控控制台日志,为浏览器自动化操作提供了便利。

🚀 快速开始

MCP 浏览器自动化服务器可通过 REST API 控制浏览器,实现创建会话、导航页面、截图等功能。以下是启动服务器的步骤:

python server.py

服务器将在 http://localhost:8000 上运行。

✨ 主要特性

  • 创建会话
  • 导航到 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

📚 详细文档

API 端点

创建新会话

POST /session/create
响应:{ "session_id": "..." }

导航到 URL

POST /session/{session_id}/navigate?url=https://example.com

截取屏幕截图

POST /session/{session_id}/screenshot?name=screenshot1&selector=.my-element

如果未提供选择器,则截取全页屏幕截图。

点击元素

POST /session/{session_id}/click?selector=.my-button

填充表单输入

POST /session/{session_id}/fill?selector=input[name="username"]&value=myuser

监控控制台日志

WebSocket /session/{session_id}/console

关闭会话

POST /session/{session_id}/close

💻 使用示例

基础用法

import requests
import websockets
import asyncio
import json

# 创建一个会话
response = requests.post("http://localhost:8000/session/create")
session_id = response.json()["session_id"]

# 导航到 URL
requests.post(f"http://localhost:8000/session/{session_id}/navigate?url=https://example.com")

# 截取屏幕截图
response = requests.post(f"http://localhost:8000/session/{session_id}/screenshot?name=example")
with open("screenshot.png", "wb") as f:
f.write(response.content)

# 监控控制台日志
async def monitor_console():
async with websockets.connect(f"ws://localhost:8000/session/{session_id}/console") as ws:
while True:
message = await ws.recv()
print(json.loads(message))

asyncio.get_event_loop().run_until_complete(monitor_console())

📄 许可证

MIT

  • 0 关注
  • 0 收藏,25 浏览
  • system 提出于 2025-10-04 21:33

相似服务问题

相关AI产品