浏览器自动化服务器

一个基于Selenium WebDriver的浏览器自动化服务器,支持多浏览器操作和团队协作,适用于CI/CD和开发流程中的自动化任务。

  • by Raghvendra-Raghuvanshi
  • Java
  • 本地部署
  • 更新于
在 GitHub 查看 Raghvendra-Raghuvanshi/selenium-mcp-server

使用说明

Selenium MCP服务器

使用Selenium WebDriver实现浏览器自动化的模型上下文协议(MCP)服务器。使LLM和团队能够通过类似于Playwright MCP的标准协议自动化浏览器。

🚀 主要特点

  • 支持多浏览器(Chrome、Firefox、Edge、Safari)
  • 团队友好:默认情况下可见浏览器
  • 符合MCP的API(导航、单击、键入、屏幕截图等)
  • 团队和CI易于入职

📦 公开MCP服务器供团队使用

1.发布到npm(用于整个团队访问)

  • 确保您的 package.json 正确(见下文)
  • 运行:
npm publish --access public
  • 或者对于私人注册:
npm publish --access restricted

2.安装并运行(适用于任何团队)

全局安装(建议团队安装)

npm install -g selenium-mcp-server
selenium-mcp-server --browser chrome

或者使用npx(无需安装)

npx selenium-mcp-server@latest --browser chrome

3.在MCP客户端中配置(例如,游标、CI或自定义)

添加到您的 .cursor/mcp.json 或同等产品:

{
  "mcpServers": {
    "selenium": {
      "command": "selenium-mcp-server",
      "args": ["--browser", "chrome"]
    }
  }
}
  • 对于CI,将服务器作为后台进程运行,并将客户端指向其端口。

📝 新团队入职培训

  1. 安装Node.js 18+和Java 11+
  2. 全局安装MCP服务器或使用npx
  3. 与您的团队共享npm包名称和README
  4. 提供示例配置和用法(见上文)
  5. 要获得支持,请使用GitHub repo issues页面

示例 package.json 出版

{
  "name": "selenium-mcp-server",
  "version": "1.0.0",
  "description": "Selenium MCP server for browser automation",
  "main": "index.js",
  "bin": { "selenium-mcp-server": "index.js" },
  "repository": { "type": "git", "url": "https://github.com/your-org/selenium-mcp-server.git" },
  "author": "Your Name",
  "license": "MIT"
}

📋 可用工具

  • browser_navigate -导航到任何URL
  • browser_snapshot -获取包含元素引用的页面可访问性快照
  • browser_click -使用快照中的引用单击元素
  • browser_type -在表单字段中键入文本,并可选择提交
  • browser_wait_for -等待时间、文本出现或文本消失
  • browser_take_screenshot -捕获当前页面的屏幕截图

🛠️ 安装和设置

对于游标用户

  1. 添加到光标设置:

    • 首选 Cursor Settings → MCP → Add new MCP Server
    • 姓名: selenium-mcp
    • 命令类型: command
    • 命令: npx
    • 论据: ["selenium-mcp-server@latest"]
  2. 替代JSON配置:

{
  "mcpServers": {
    "selenium-mcp": {
      "command": "npx",
      "args": ["selenium-mcp-server@latest"]
    }
  }
}

对于其他MCP客户端

对MCP客户端使用相同的配置模式:

{
  "mcpServers": {
    "selenium-mcp": {
      "command": "npx",
      "args": ["selenium-mcp-server@latest"]
    }
  }
}

替代安装方法

Click to see other installation options

方法1:就地安装

npm install selenium-mcp-server

方法2:全球安装

npm install -g selenium-mcp-server

快速开始

🎯 零安装(推荐)

1.添加配置

创建 .cursor/mcp.json 在项目根目录中:

{
  "mcpServers": {
    "selenium": {
      "command": "npx",
      "args": [
        "selenium-mcp-server@latest",
        "--browser", "chrome"
      ]
    }
  }
}

2.重新启动游标

  • 完全退出游标
  • 重新启动游标
  • npx将自动下载并运行服务器
Alternative Setup Methods

选项A:本地安装

1.在项目中安装

npm install selenium-mcp-server

2.配置光标

{
  "mcpServers": {
    "selenium": {
      "command": "node",
      "args": ["./node_modules/selenium-mcp-server/dist/index.js", "--browser", "chrome", "--headless"]
    }
  }
}

选项B:全局安装

1.全局安装

npm install -g selenium-mcp-server

2.配置光标

{
  "mcpServers": {
    "selenium": {
      "command": "selenium-mcp",
      "args": ["--browser", "chrome", "--headless"]
    }
  }
}

3.在游标中使用

要求Cursor执行浏览器自动化:

  • “导航到google.com并截图”
  • “填写example.com上的联系表”
  • “从当前页面提取所有链接”

配置选项

selenium-mcp [options]

Options:
  --browser <browser>        Browser to use (chrome, firefox, edge, safari) (default: "chrome")
  --headless                 Run browser in headless mode
  --executable-path <path>   Path to browser executable
  --user-data-dir <path>     Path to user data directory
  --isolated                 Keep browser profile in memory
  --viewport-size <size>     Browser viewport size (e.g., 1280,720)
  --output-dir <path>        Path to directory for output files
  -h, --help                 Display help for command

可用工具

导航

  • browser_navigate -导航到URL
  • browser_navigate_back -回到历史
  • browser_navigate_forward -在历史中前进

页面交互

  • browser_click -点击元素
  • browser_type -在输入中键入文本
  • browser_hover -将鼠标悬停在元素上
  • browser_drag -拖放元素
  • browser_select_option -选择下拉选项
  • browser_press_key -按键盘键

信息收集

  • browser_snapshot -捕获可访问性树
  • browser_take_screenshot -截图
  • browser_network_requests -列出网络请求
  • browser_console_messages -获取控制台消息

选项卡管理

  • browser_tab_list -列出打开的选项卡
  • browser_tab_new -打开新选项卡
  • browser_tab_select -切换选项卡
  • browser_tab_close -关闭选项卡

公用事业

  • browser_wait_for -等待元素/文本
  • browser_file_upload -上传文件
  • browser_handle_dialog -处理警报/对话框
  • browser_resize -调整浏览器窗口大小
  • browser_pdf_save -将页面另存为PDF

使用示例

基本导航和屏幕截图

// In Cursor, ask:
"Navigate to https://example.com and take a screenshot"

表单交互

// In Cursor, ask:
"Go to the contact page and fill out the form with name 'John Doe' and email 'john@example.com'"

数据提取

// In Cursor, ask:
"Visit the product page and extract all product names and prices"

需求

  • Node.js 18+
  • Java 11+(用于Selenium WebDriver)
  • 浏览器驱动程序(由WebDriver Manager自动管理)

配置示例

地方发展

{
  "mcpServers": {
    "selenium": {
      "command": "selenium-mcp",
      "args": ["--browser", "chrome"]
    }
  }
}

无头生产

{
  "mcpServers": {
    "selenium": {
      "command": "selenium-mcp",
      "args": [
        "--browser", "chrome",
        "--headless",
        "--viewport-size", "1920,1080"
      ]
    }
  }
}

自定义浏览器路径

{
  "mcpServers": {
    "selenium": {
      "command": "selenium-mcp",
      "args": [
        "--browser", "chrome",
        "--executable-path", "/path/to/chrome"
      ]
    }
  }
}

故障排除

未找到浏览器

如果您收到浏览器未找到错误:

  1. 安装浏览器(Chrome、Firefox等)
  2. 使用 --executable-path 指定浏览器位置
  3. 检查Java是否已安装且可访问

权限问题

在macOS上,您可能需要授予访问权限:

  1. 前往“系统偏好设置”>“安全与隐私”>“隐私”
  2. 选择“辅助功能”
  3. 添加您的终端应用程序

内存问题

对于大页面或长时间运行的会话:

{
  "mcpServers": {
    "selenium": {
      "command": "selenium-mcp",
      "args": ["--isolated", "--headless"]
    }
  }
}

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 添加测试
  5. 提交拉取请求

许可证

MIT许可证-有关详细信息,请参阅许可证文件。

相关项目

参考文献

有关更多信息,请参阅CONTRIBUTING.md和TEAM_SETUP_GUIDE.md