使用说明
MCP浏览器自动化服务器
一个简单但功能强大的浏览器自动化服务器,允许您通过REST API控制浏览器、截图和监视控制台日志。
特性
- 创建浏览器会话
- 导航到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
用法
- 启动服务器:
python server.py
服务器将于启动 http://localhost:8000
API终点
创建新会话
POST /session/create
Response: { "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
Python使用示例
import requests
import websockets
import asyncio
import json
# Create a session
response = requests.post("http://localhost:8000/session/create")
session_id = response.json()["session_id"]
# Navigate to a URL
requests.post(f"http://localhost:8000/session/{session_id}/navigate?url=https://example.com")
# Take a screenshot
response = requests.post(f"http://localhost:8000/session/{session_id}/screenshot?name=example")
with open("screenshot.png", "wb") as f:
f.write(response.content)
# Monitor console logs
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())
许可证
麻省理工学院