mcpField
S
selenium-mcp

selenium-mcp

本地服务
github.com/pshivapr浏览器自动化654 周前更新

关于 selenium-mcp

selenium-mcp 是将 Selenium WebDriver 自动化能力提供给 AI 助手和应用的 MCP 服务。它支持多种浏览器,并提供导航、元素交互、网页抓取和测试工具。

主要功能

  1. 01支持 Chrome、Firefox、Safari 和 Edge
  2. 02导航并管理浏览器窗口
  3. 03查找并操作页面元素
  4. 04管理 Cookie、框架和表单
  5. 05截图并执行 JavaScript

适用场景

  1. 01自动化浏览器测试
  2. 02抓取网页信息
  3. 03操作网页表单
  4. 04截取页面并检查浏览器状态

MCP 相关

该服务将 Selenium WebDriver 能力作为 MCP 工具提供给已连接的客户端,包括浏览器管理、页面交互、导航和截图。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"pshivapr-selenium": {
"command": "npx",
"args": [
"-y",
"selenium-webdriver-mcp"
],
"env": {
"YOUR_API_KEY": "<YOUR_API_KEY>"
}
}
}
}
启动命令npx -y selenium-webdriver-mcp
需要配置的环境变量
YOUR_API_KEY密钥Your API key for the service

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmselenium-webdriver-mcp0.4.6

工具

56

收录的工具列表 · 更新于 2 周前

参数类型必填说明
browserenum是要启动的浏览器chrome | firefox | edge | safari
optionsobject否
options.headlessboolean否以无头模式运行浏览器
options.argumentsarray否其他浏览器参数

详细介绍

添加到 Cursor 添加到 VS Code 添加到 Claude 添加到 ChatGPT 添加到 Codex 添加到 Gemini

Selenium MCP 服务

npm 版本

npm 下载量

GitHub 问题

smithery 徽章

这是一个服务实现,用于弥合 MCP 客户端(AI 助手)与 Selenium WebDriver 之间的差距。它将 Selenium WebDriver 的功能以 MCP 工具的形式提供,使 AI 模型能够将其用于以下任务:

  • 浏览器管理(启动、导航、关闭浏览器)
  • 元素交互(点击、输入、查找元素)
  • 网页抓取和自动化测试
  • 截图、Cookie 管理和 JavaScript 执行等高级操作

本质上,Selenium WebDriver MCP 配置可让 AI 助手利用 Selenium WebDriver 的强大功能来实现网页自动化,并通过模型上下文协议与专用的 Selenium MCP 服务通信。这使 AI 能够控制自动化网页交互、测试和数据提取等任务。

README 配图

🚀 概述

这是一个用于 Selenium 的模型上下文协议(MCP)服务,为 AI 助手和应用提供全面的 Selenium WebDriver 自动化工具。该服务通过标准化接口实现自动化网页浏览器交互、测试和抓取。

该服务使用 TypeScript 和现代 ES 模块构建,通过模型上下文协议提供类型安全的浏览器自动化功能。

✨ 主要功能

  • 多浏览器支持:支持 Chrome、Firefox、Safari 和 Edge 浏览器自动化
  • 全面的元素交互:点击、输入、悬停、拖放、上传文件
  • 高级导航:前进、后退、刷新、窗口管理
  • 等待策略:智能等待元素和页面状态
  • 类型安全:使用 Zod 验证的完整 TypeScript 实现

🤝 集成

MCP 客户端集成

配置 MCP 客户端以连接 Selenium 服务:

标准配置(适用于 Windsurf、Warp、Gemini CLI 等)
{
  "servers": {
    "selenium-mcp": {
      "command": "npx",
      "args": ["-y", "selenium-webdriver-mcp@latest"]
    }
  }
}

在 VS Code 中安装

使用以下配置更新 VS Code 中的 mcp.json

注意:如果你刚开始使用 MCP 服务,请参阅此链接:在 VS Code 中使用 MCP 服务

“stdio”类型连接示例
{
  "servers": {
    "selenium-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "selenium-webdriver-mcp@latest"
      ],
      "type": "stdio"
    }
  },
  "inputs": []
}

“http”类型连接示例
{
  "servers": {
    "Selenium": {
      "url": "https://smithery.ai/server/@pshivapr/selenium-mcp",
      "type": "http"
    }
  },
  "inputs": []
}

安装后,即可在 VS Code 中将 Selenium MCP 服务与 GitHub Copilot Agent 配合使用。

使用 VS Code CLI 安装 Selenium MCP 服务
# For VS Code
code --add-mcp '{\"name\":\"selenium-mcp\",\"command\": \"npx\",\"args\": [\"selenium-webdriver-mcp@latest\"]}'

# For VS Code Insiders
vscode-insiders --add-mcp '{\"name\":\"selenium-mcp\",\"command\": \"npx\",\"args\": [\"selenium-webdriver-mcp@latest\"]}'

使用 npm 或 Smithery 安装软件包

使用 npm:

npm install -g selenium-webdriver-mcp@latest

使用 Smithery

通过 smithery 徽章 自动为 Claude Desktop 安装 Selenium MCP

npx @smithery/cli install @pshivapr/selenium-mcp --client claude

Claude Desktop 集成

添加到 Claude Desktop 配置中:

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

截图

Selenium + Claude

提示词

以下是一个用于开始 AI Agent 交互的示例提示词:

Using selenium mcp tools, navigate to <https://parabank.parasoft.com/> click the 'Register' link and signup using dynamic test data and click register. Then generate selenium tests in <YOUR_FAVOURITE_PROGRAMMING_LANGUAGE> using pom, create tests using cucumber features, steps and execute the tests.

注意:如需更多提示词,请查看项目的 examples 目录。

🛠️ MCP 可用工具

浏览器管理工具
工具描述参数
browser_open打开新的浏览器会话browser, options
browser_navigate导航至 URLurl
browser_navigate_back返回上一条历史记录无
browser_navigate_forward前进至下一条历史记录无
browser_title获取当前页面标题无
browser_refresh刷新当前页面无
browser_get_url获取当前页面 URL无
browser_get_page_source获取当前页面 HTML 源码无
browser_maximize最大化浏览器窗口无
browser_resize调整浏览器窗口大小width, height
browser_close关闭当前浏览器会话无
Cookie 管理工具
工具描述参数
browser_get_cookies获取当前浏览器会话中的所有 Cookie无
browser_get_cookie_by_name按名称获取特定 Cookiecookie(Cookie 名称)
browser_add_cookie_by_name向浏览器添加新的 Cookiecookie(Cookie 名称)、value
browser_set_cookie_object在浏览器中设置 Cookie 对象cookie(以字符串表示的 Cookie 对象)
browser_delete_cookie按名称删除特定 Cookievalue(要删除的 Cookie 名称)
browser_delete_cookies删除当前浏览器会话中的所有 Cookie无
窗口管理工具
工具描述参数
browser_switch_to_window根据句柄切换到另一个浏览器窗口windowHandle
browser_switch_to_original_window切回原始浏览器窗口无
browser_switch_to_window_by_title根据页面标题切换窗口title
browser_switch_window_by_index根据索引位置切换窗口index
browser_switch_to_window_by_url根据 URL 切换窗口url
元素交互工具
工具描述参数
browser_find_element查找页面上的元素by, value, timeout
browser_find_elements查找页面上的多个元素by, value, timeout
browser_click点击元素by, value, timeout
browser_type在元素中输入文本by, value, text, timeout
browser_get_element_text获取元素的文本内容by, value, timeout
browser_file_upload通过输入元素上传文件by, value, filePath, timeout
browser_clear清除元素中的文本by, value, timeout
browser_get_attribute获取元素属性值by, value, attribute, timeout
元素状态验证工具
工具描述参数
browser_element_is_displayed检查元素是否在页面上可见by, value, timeout
browser_element_is_enabled检查元素是否已启用,可供交互by, value, timeout
browser_element_is_selected检查元素是否已选中(复选框、单选按钮)by, value, timeout
框架管理工具
工具描述参数
browser_switch_to_frame切换到 iframe 元素by、value、timeout
browser_switch_to_parent_frame切换到父框架(从嵌套 iframe 返回)无
browser_switch_to_default_content切换回主页面内容无
高级操作工具
工具描述参数
browser_hover将鼠标悬停在元素上by、value、timeout
browser_double_click双击元素by、value、timeout
browser_right_click右键单击(打开上下文菜单)by、value、timeout
browser_drag_and_drop将元素从源位置拖放到目标位置by、value、targetBy、targetValue、timeout
browser_wait_for_element等待元素出现by、value、timeout
browser_execute_script执行 JavaScript 代码script、args
browser_screenshot截取屏幕截图filename(可选)
browser_select_dropdown_by_text根据可见文本选择下拉选项by、value、text、timeout
browser_select_dropdown_by_value根据值选择下拉选项by、value、dropdownValue、timeout
browser_key_press在浏览器中按下键盘按键key、timeout
滚动工具
工具描述参数
browser_scroll_to_element滚动页面,使元素进入视野by、value、timeout
browser_scroll_to_top滚动到页面顶部无
browser_scroll_to_bottom滚动到页面底部无
browser_scroll_to_coordinates滚动到指定坐标x、y
browser_scroll_by_pixels按指定像素数滚动x、y
表单交互工具
工具描述参数
browser_select_checkbox选中复选框by、value、timeout
browser_unselect_checkbox取消选中复选框by、value、timeout
browser_submit_form提交表单元素by、value、timeout
browser_focus_element将焦点设定到指定元素by、value、timeout
browser_blur_element移除指定元素的焦点by、value、timeout
元素定位策略
  • id:根据元素 ID 查找
  • css:根据 CSS 选择器查找
  • xpath:根据 XPath 表达式查找
  • name:根据 name 属性查找
  • tag:根据 HTML 标签名称查找
  • class:根据 CSS 类名查找

📋 要求

  • Node.js:版本 18.0.0 或更高
  • 浏览器:已安装 Chrome、Firefox、Safari 或 Edge
  • WebDriver:由 selenium-webdriver 自动管理
  • 操作系统:Windows、macOS 或 Linux

🚦 开发

开始使用
克隆代码库
git clone https://github.com/pshivapr/selenium-mcp.git
cd selenium-mcp
安装依赖项
npm install
构建项目
npm run build
运行服务
生产模式
npm start
开发模式(自动重新加载)
npm run dev
直接执行
node dist/index.js
作为 CLI 工具使用

构建完成后,可以将服务用作全局命令:

npx selenium-webdriver-mcp@latest

📝 许可证

MIT 许可证——详情请参阅 LICENSE 文件。

🤝 贡献

欢迎贡献!请随时提交 Pull Request。

  1. Fork 代码库
  2. 创建功能分支(git checkout -b feature/AmazingFeature)
  3. 提交更改(git commit -m 'Add some AmazingFeature')
  4. 推送到分支(git push origin feature/AmazingFeature)
  5. 发起 Pull Request

徽章/提及

MCP Market

Pulse

MCP 徽章


❤️ 为 Model Context Protocol 生态系统倾力打造

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。