Selenium MCP 服务器

Selenium MCP Server 是一个基于 Selenium WebDriver 的多浏览器自动化服务器,提供全面的元素交互和高级功能,适用于浏览器自动化测试和开发。

  • by KiranMote
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 kiranmote/selenium_mcp_server

使用说明

Selenium MCP服务器

快速入门:在VS代码中安装和使用

先决条件

  • Node.js 18+
  • TypeScript
  • Selenium WebDriver浏览器驱动程序

1.克隆存储库

git clone https://github.com/KiranMote/Selenium_MCP_Server.git
cd Selenium_MCP_Server

2.安装依赖项

npm install

3.建设项目

npm run build

4.(可选)测试服务器

根据需要添加和运行测试。

5.在VS Code中注册MCP服务器

全球注册(推荐)

  1. 打开(或创建)文件: C:\Users\<your-username>\AppData\Roaming\Code\User\mcp.json

  2. 在下面添加以下内容 "servers":

    "selenium-mcp-server": {
      "type": "stdio",
      "command": "node",
      "args": [
        "C:\\Users\\<your-username>\\Selenium_MCP_Server\\dist\\index.js"
      ]
    }
    
  3. 保存文件。现在,服务器在所有VS Code工作区中都可用。

您可以打开新文件夹,安装的MCP服务器将在那里可用:


如何使用Selenium MCP服务器。

查看Github Copilot聊天部分Selenium MCP服务器工具是否存在。

根据要求给出提示:

它使用mcp的探索、检查和更多工具,为我们工作。

特性

  • 多浏览器支持:Chrome、Firefox和Edge浏览器
  • 综合元素交互:单击、键入、获取文本、等待元素
  • 高性能:屏幕截图、JavaScript执行、页面导航
  • 柔性元件选择:CSS选择器、XPath、ID、类名和标记名
  • 稳健的错误处理:适当的验证和用户友好的错误消息
  • TypeScript:完全类型安全和现代JavaScript功能

可用工具

浏览器管理

  • start_browser:初始化新的浏览器会话
  • 关闭浏览器:关闭当前浏览器会话
  • 导航:导航到特定URL
  • get_current_url:获取当前页面URL
  • get_page_title:获取当前页面标题

元素交互

  • 点击:点击一个元素
  • 类型文本:在输入框中键入文本
  • get_text:从元素中提取文本内容
  • wait_for_element:等待元素满足特定条件

高级功能

  • take_screenshot:捕获页面截图
  • execute_script:在浏览器中运行JavaScript代码

示例用法

  1. 启动浏览器会话:

    {
      "tool": "start_browser",
      "arguments": {
        "browser": "chrome",
        "headless": false,
        "windowSize": "1920x1080"
      }
    }
    
  2. 导航到网站:

    {
      "tool": "navigate",
      "arguments": {
        "url": "https://example.com"
      }
    }
    
  3. 单击元素:

    {
      "tool": "click",
      "arguments": {
        "selector": "#submit-button",
        "method": "css"
      }
    }
    
  4. 键入文本:

    {
      "tool": "type_text",
      "arguments": {
        "selector": "input[name='username']",
        "text": "user123",
        "method": "css"
      }
    }
    

配置

浏览器选项

  • 浏览器:从“chrome”、“firefox”或“edge”中选择
  • 无头的:运行不带GUI的浏览器(true/false)
  • 窗口大小:设置浏览器窗口尺寸(例如“1920x1080”)
  • 用户代理:自定义用户代理字符串

元素选择方法

  • 层叠样式表:CSS选择器(默认)
  • 函数:XPath表达式
  • 本我:元素ID
  • 类名:CSS类名
  • 标签Name:HTML标记名称

等待条件

  • 可见的:元素在页面上可见
  • 当前:元素存在于DOM中
  • 可点击的:元素已启用且可点击

发展

建筑

npm run build

在发展中奔跑

npm run dev

项目结构

src/
  index.ts          # Main server implementation
dist/               # Compiled JavaScript output
.vscode/
  mcp.json         # MCP server configuration
.github/
  copilot-instructions.md  # Copilot development guidelines

浏览器驱动程序设置

确保您安装了相应的浏览器驱动程序:

  • 铬:ChromeDriver
  • 火狐:GeckoDriver
  • 边缘:边缘驱动器

大多数驱动程序都可以通过Selenium WebDriver 4+自动管理。

错误处理

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

  • 使用Zod模式进行输入验证
  • 浏览器会话状态检查
  • 元素操作的超时管理
  • 服务器关闭时的优雅清理

贡献

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

相关项目