浏览器自动化服务

一个基于Playwright的无头浏览器自动化服务,提供网页导航、截图、表单填写等功能,适用于网页测试和数据抓取。

  • by ahmedrowaihi
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 ahmedrowaihi/mcp-server-playwright-headless

使用说明

MCP服务器编剧无头

一个模型上下文协议服务器,在Firefox的无头模式下使用Playwright提供浏览器自动化功能。

特性

  • 🌐 在无头模式下使用Firefox的完全浏览器自动化功能
  • 📸 整个页面或特定元素的截图
  • 🖱️ 全面的网络交互(导航、点击、表单填写)
  • 📊 控制台日志监控
  • 🔧 浏览器上下文中的JavaScript执行
  • 🖼️ 用于屏幕截图管理的集成图像服务器

安装

使用Docker

# Build the image
docker build -t mcp-playwright-headless .

# Run the container
docker run --rm --name mcp-playwright -e IMAGE_SERVER=http://host.docker.internal:3001 mcp-playwright-headless:1.3.0

配置

环境变量

服务器支持以下环境变量:

  • IMAGE_SERVER:用于上传屏幕截图的外部图像服务器的URL
  • IMAGE_SERVER_TOKEN:映像服务器的身份验证令牌

组件

工具

browser_navigate

导航到浏览器中的任何URL

{
  "url": "https://example.com"
}

browser_screenshot

捕获整个页面或特定元素的屏幕截图

{
  "name": "screenshot-name",     // required: name for the screenshot
  "selector": "#element-id",     // optional: CSS selector for element screenshot
  "fullPage": false             // optional: capture full page, default: false
}

browser_click

使用CSS选择器单击页面上的元素

{
  "selector": "#button-id"
}

browser_click_text

按文本内容单击页面上的元素

{
  "text": "Click me"
}

browser_fill

填写输入字段

{
  "selector": "#input-field",
  "value": "text to input"
}

browser_select

使用CSS选择器从下拉列表中选择一个选项

{
  "selector": "#dropdown",
  "value": "option-value"
}

browser_select_text

从下拉列表中按文本内容选择一个选项

{
  "text": "Option Text",
  "value": "option-value"
}

browser_hover

使用CSS选择器将鼠标悬停在页面上的元素上

{
  "selector": "#menu-item"
}

browser_hover_text

按文本内容将鼠标悬停在页面上的元素上

{
  "text": "Hover me"
}

browser_evaluate

在浏览器上下文中执行JavaScript

{
  "script": "document.querySelector('#element').innerText"
}

delete_screenshot

从图像服务器中删除特定的屏幕截图

{
  "filename": "screenshot-name.png"
}

clear_screenshots

从图像服务器中清除所有屏幕截图

{
}

资源

console://logs

访问自动化过程中捕获的浏览器控制台日志

iMage服务器

该项目包括一个用于管理屏幕截图的独立图像服务器。要使用它:

  1. 构建并启动映像服务器:
# Build the image
docker build -t mcp-image-server -f image-server/Dockerfile .

# Run the container
docker run -d -p 3001:3001 --name image-server mcp-image-server:1.0.0

图像服务器通过以下方式提供自动屏幕截图管理:

  • 自动上传截图
  • 屏幕截图删除功能
  • 批量截图清除
  • 如果映像服务器不可用,则进行本地回退

错误处理

服务器包括全面的错误处理:

  • 自动重试严格模式违规
  • 屏幕截图存储的回退机制
  • 调试的详细错误消息

许可证

麻省理工学院