SuperAPI AI 工具集

selenium-mcp

selenium-mcp(seleniumboot-mcp)是一个 Python Model Context Protocol(MCP)服务器,用于把 Selenium WebDriver 浏览器自动化能力接入 Claude、GitHub Copilot 等 AI 助手。它允许 AI 助手控制真实浏览器,进行页面导航、元素交互、执行断言,并能把录制的操作会话生成可直接运行的测试代码,支持 Python(pytest)、Java TestNG、JUnit 5、Cucumber/Gherkin 以及 C# NUnit + Selenium 等目标。默认提供 43 个工具,设置 SELENIUM_MCP_TOOLS=all 后可暴露全部 77 个工具。项目无需单独配置 ChromeDriver,浏览器会在首次使用时自动启动,Selenium Manager 自动处理驱动。可安装 VS Code 扩展或 JetBrains 插件自动注册 MCP 服务器,也支持手动配置。此外还提供自愈定位器、Page Object Model 生成、GitHub Actions 等 CI 工作流生成,以及现有 Selenium 项目的迁移分析工具。

访问官网

工具介绍

selenium-mcp(包名 seleniumboot-mcp)是一个基于 Python 的 Model Context Protocol(MCP)服务器,用于把 Selenium WebDriver 自动化带给 Claude 及其他 AI 助手。它让 AI 助手可以控制真实浏览器:导航页面、与元素交互、运行断言,并基于录制的会话生成可直接运行的 Java TestNG / JUnit 5 / Cucumber / pytest 测试代码。

主要能力

  • 默认提供 43 个工具,设置环境变量 SELENIUM_MCP_TOOLS=all 后暴露全部 77 个工具。
  • 支持生成 Java TestNG / JUnit 5 以及 Python pytest 测试代码。
  • 截图以 ImageContent 返回,可在 Claude 中内联渲染。
  • 完整会话录制,涵盖 hover、double_click、right_click、scroll、select_option 等操作。
  • 针对 hover、拖放、选择、滚动提供 Java 与 Python 模板的代码生成。
  • 首次使用时自动启动浏览器,无需显式调用 start_browser。
  • 支持 Page Object Model 生成(generate,language=java、kind=page_object)。
  • 支持 Cucumber / Gherkin 步骤生成(generate,language=gherkin)。
  • 自愈定位器:当选择器失效时自动尝试备用策略。
  • Alert/对话框处理、iframe 切换、shadow DOM、表格提取。
  • Cookie、localStorage、sessionStorage 管理。
  • 通过 Chrome DevTools Protocol 进行移动设备模拟。
  • 发送特殊按键(Tab、Enter、功能键、Ctrl+A 等)。
  • 通过 <input type="file"> 上传文件。
  • 捕获浏览器控制台日志。
  • 多标签页管理(打开、关闭、列出)。
  • 页面滚动(顶部、底部、按像素)。
  • C# NUnit + Selenium 代码生成。
  • GitHub Actions CI 工作流生成器(Maven / Gradle / pytest)。
  • Playwright TypeScript 迁移提示。
  • Jenkins / GitLab CI 的 CI/CD 配置。

使用方式 运行环境要求 Python 3.10+ 与 Chrome;无需单独安装 ChromeDriver,Selenium Manager 会自动处理。

VS Code(最简单)——从 VS Code Marketplace 安装 Selenium Boot MCP 扩展。该扩展会自动:向 GitHub Copilot 注册 MCP 服务器(无需配置文件);在项目中创建 .mcp.json,以便 Claude Code 在下次打开时检测到;如缺少 Python 包则提示执行 pip install seleniumboot-mcp。当 Claude Code 询问“Allow MCP server seleniumboot?”时点击 Allow。

JetBrains IDE——在 Settings → Plugins → Marketplace 中搜索“Selenium Boot MCP”安装(或从插件页面安装)。该插件会向 JetBrains AI Assistant 注册 MCP 服务器,并在缺少 Python 包时提示 pip install seleniumboot-mcp。可通过 Tools → Selenium Boot MCP 安装/升级、注册或检查状态。

VS Code(手动)——为 GitHub Copilot 在项目根目录添加 .vscode/mcp.json;为 Claude Code 在项目根目录添加 .mcp.json。在 VS Code 中打开项目后,Claude Code 会提示批准该服务器。

Claude Desktop——编辑配置:Windows 为 %APPDATA%\claude-desktop\config.json,macOS 为 ~/.config/claude-desktop/config.json,然后重启 Claude Desktop。

服务器运行后,可直接用自然语言与 Claude 交流,无需调用 start_browser,Chrome 会在首次使用时自动启动。Claude 控制真实浏览器、记录每个操作,并按请求生成可直接粘贴进 Maven 或 Gradle 项目的完整测试代码。

自愈定位器 当某个选择器找不到元素时,seleniumboot-mcp 会在放弃前自动尝试替代策略。成功的回退会被缓存,之后自动复用已修复的选择器。可使用 get_healed_locators 检查缓存并更新测试代码,使用 clear_healed_locators 重新开始。

Selenium Boot 项目支持 如果所在项目包含 Selenium Boot(通过 selenium-boot.yml 或 io.github.seleniumboot 依赖自动检测,无需开关),相同工具会改为生成框架原生代码:类继承 BaseTest / BaseJUnit5Test / BaseCucumberSteps,无需编写驱动生命周期样板;定位器遵循无障碍优先的层级(getByRole / getByLabel / getByTestId);断言为 web-first(assertThat(locator).isVisible()/.hasText()),而非原始 TestNG/JUnit 调用。若未检测到 Selenium Boot 项目,生成的 Java 代码会附带简短注释说明该选项并提供链接,其他不变,Python/C# 输出不受影响。

迁移现有 Selenium 项目 migrate 工具会对项目运行 selenium-boot-migrator 的只读 analyze,并返回其 JSON 报告(哪些可干净映射、哪些需要人工处理)。它需要 Java 17+。首次使用时从 GitHub 下载固定版本 migrator(v0.1.1)到 ~/.cache/seleniumboot-mcp/,校验 SHA-256 后复用;这是该工具唯一的网络调用。可通过设置 SELENIUM_BOOT_MIGRATOR_JAR 指向自行构建的 jar,或把 selenium-boot-migrator 启动器放到 PATH 来跳过下载。它不会修改你的项目。

限制与注意事项

  • 需要 Python 3.10+ 和 Chrome。
  • 工具定义每会话都会发送给模型;自 0.8.0 起默认暴露核心配置(43 个工具,约 3.9k tokens),涵盖录制与生成工作流(浏览器、元素、断言、面向所有输出目标的单一 generate 工具以及 migrate)。Cookie、存储、窗口/标签页、网络模拟、设备仿真、截图差异、无障碍、自愈、shadow DOM、表格以及双击/右键/拖拽等不在默认范围内。设置 SELENIUM_MCP_TOOLS=all 暴露全部 77 个(约 6.4k tokens)。
  • migrate 工具需要 Java 17+,且仅做只读分析,不会编辑项目。

相关链接 GitHub:github.com/seleniumboot/selenium-mcp PyPI:pypi.org/project/seleniumboot-mcp VS Code Marketplace:marketplace.visualstudio.com