项目简介
Selenium MCP Server是一个基于Model Context Protocol (MCP) 构建的后端服务,旨在为AI助手和应用程序提供与Selenium WebDriver交互的能力。通过将Selenium的各种操作(如浏览器管理、元素交互、网页抓取等)封装成标准化的MCP工具,它允许LLM客户端以结构化、可编程的方式控制Web浏览器,从而实现智能化的Web自动化任务。
主要功能点
- 浏览器全面控制:支持启动、关闭、导航(前进、后退、刷新)、获取当前URL和页面标题等操作。
- 元素精准交互:提供点击、输入文本、清除内容、文件上传、获取元素文本及属性等功能,实现对网页元素的精确控制。
- 高级行为模拟:支持鼠标悬停、双击、右键点击、拖放、按键模拟,以及执行自定义JavaScript代码,应对复杂交互场景。
- 灵活的等待策略:能够等待特定元素出现,确保操作的稳定性。
- 窗口与框架管理:允许在多个浏览器窗口和iframe之间切换,处理多窗口和内嵌内容。
- Cookie管理:方便地获取、添加、修改和删除浏览器Cookie,支持会话管理。
- 状态验证:检查元素是否显示、启用或被选中,用于条件判断和流程控制。
- 页面滚动:支持滚动到页面顶部、底部、指定坐标或指定元素,方便浏览长页面。
- 表单操作:提供提交表单、聚焦/失焦元素等功能。
- 截屏功能:可捕获当前页面截图,方便调试或记录。
- 多浏览器兼容:支持Chrome、Firefox、Edge和Safari等主流浏览器。
安装步骤
在使用前,请确保您的系统已安装Node.js (v18.0.0或更高版本)。
- 全局安装:
或者使用'npx'直接运行(推荐用于客户端配置):npm install -g selenium-webdriver-mcpnpx selenium-webdriver-mcp
服务器配置
MCP服务器是供MCP客户端(如AI助手、LLM应用)使用的。您需要将以下配置添加到您的MCP客户端的配置文件中(例如'mcp.json'、Claude Desktop配置等),以便客户端能够发现并连接到Selenium MCP服务器。
基于命令行的标准配置(推荐,适用于Windsurf, Warp, Gemini CLI等) 这种方式通过执行一个命令来启动和管理Selenium MCP服务器,客户端会自动通过标准输入/输出来与服务器通信。
{ "servers": { "Selenium": { "command": "npx", "args": ["-y", "selenium-webdriver-mcp"] // "type": "stdio" // 默认值为 stdio,可省略 } } }
- '"Selenium"': 这是您在MCP客户端中为该服务器定义的名称。
- '"command"': 启动Selenium MCP服务器的命令行程序。
- '"args"': 传递给'command'的参数,'-y selenium-webdriver-mcp'会执行该npm包。
基于HTTP连接的配置(适用于已部署的服务器) 如果Selenium MCP服务器已部署为HTTP服务,客户端可以通过URL连接。
{ "servers": { "Selenium": { "url": "https://smithery.ai/server/@pshivapr/selenium-mcp", // 替换为您的实际服务器URL "type": "http" } } }
- '"url"': Selenium MCP服务器的HTTP端点。
- '"type"': 指定连接类型为HTTP。
基本使用方法
配置完成后,您的AI助手(MCP客户端)将能够识别并调用Selenium MCP服务器提供的工具。例如,一个LLM可以被提示执行以下操作来自动化一个简单的任务:
- 打开浏览器:调用'browser_open'工具启动一个Chrome浏览器。
- 导航到网页:调用'browser_navigate'工具访问指定的URL。
- 查找并点击元素:调用'browser_click'工具根据CSS选择器或XPath点击页面上的按钮。
- 输入文本:调用'browser_type'工具在文本框中输入信息。
- 获取页面内容:调用'browser_get_page_source'获取当前页面的HTML源代码。
- 关闭浏览器:调用'browser_close'工具结束浏览器会话。
AI助手会根据您的指令和当前任务,自动选择并组合这些工具来完成复杂的网页交互。
信息
分类
开发者工具