article
README
🚀 MCP 浏览器自动化服务器
MCP 浏览器自动化服务器是一款简单却功能强大的工具,它支持通过 REST API 对浏览器进行灵活控制,能够截取屏幕截图,还能实时监控控制台日志,为浏览器自动化操作提供了便利。
🚀 快速开始
MCP 浏览器自动化服务器可通过 REST API 控制浏览器,实现创建会话、导航页面、截图等功能。以下是启动服务器的步骤:
python server.py
服务器将在 http://localhost:8000 上运行。
✨ 主要特性
- 创建会话
- 导航到 URL
- 截取屏幕截图(全页或特定元素)
- 点击元素
- 填充表单输入
- 通过 WebSocket 实时监控控制台日志
- 关闭会话
📦 安装指南
- 克隆此仓库:
git clone https://github.com/weir1/mcp-browser-automation.git
cd mcp-browser-automation
- 创建虚拟环境并激活:
python -m venv venv
.\venv\Scripts\Activate
- 安装依赖项:
pip install -r requirements.txt
- 安装 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
Scan to join WeChat group