Selenium WebDriver 桥接服务

该服务通过Python实现,作为AI助手或自定义MCP客户端与Selenium WebDriver之间的桥梁,提供网页自动化、测试和爬取功能。

  • by amandeep-sg
  • Python
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 amandeep-sg/selenium_mcp

使用说明

介绍

此服务器用python实现,以弥合AI Assistant或(自定义MCP客户端)与Selenium Webdrivers之间的差距。它将selenium web驱动程序功能作为MCP工具公开,允许AI assistanct/MCP客户端使用它们来执行web自动化、web测试或web抓取任务。

发布说明

2.0.1版本-2026年4月11日发布

在此版本中,对错误代码、返回类型和自述文件进行了小幅增强

  1. Retun类型从Union[None,dict],int,bool变为str in
    1. 饼干.py
    2. find.py
    3. get.py
    4. input.py

2.0.0版本-2026年4月4日发布

在这个版本中,我们做了一些结构上的更改,比如将函数分离为save和get。现在save只专注于将文件保存在磁盘上。get是LLM希望从浏览器获取数据的地方。

以下是增强功能列表:

  1. 获取:以markdown、html、截图、元素截图、url列表的形式获取网页
  2. JS执行器:执行与网页交互的javascript代码
  3. 文件:上传和下载文件
  4. 警报:处理警报
  5. 点击:添加了通过xpath拖放元素
  6. 文件:将网页另存为pdf格式的磁盘

版本1.0.0-2026年3月31日发布

  1. Web驱动程序:创建新的或退出现有的webdiver会话
  2. Cookie:管理Cookie(添加、删除、获取、清除)
  3. 点击:点击元素(左客户端、右键、双击)
  4. 浏览器:浏览网址并管理浏览器功能,如调整大小、最大化、最小化、全屏等。
  5. 滚动:滚动整个网页
  6. 输入:在元素中输入文本,并选择/取消选择复选框、单选按钮、下拉选项等。
  7. 查找:通过xPaths查找元素

主要特点

  1. 人性化的错误处理,使LLM能够处理错误并相应地重新配置工具使用
  2. 全面的元素交互:通过检查元素是否可见、启用、可点击等来执行点击、输入、选择
  3. 全导航控制:打开新网址,点击前进、后退、刷新等

这些工具利用以下技术来支持

  1. FastMCP:用于MCP服务器实现
  2. Selenium:用于web自动化
  3. 谷歌GenAI:人工智能助手

即将上任

以下是未来将添加的功能列表:

  1. 支持Chrome开发工具和BiDi的工具
  2. 增强保存功能,以不同格式保存文件
  3. 增强的错误处理
  4. 支持多浏览器(Firefox、Edge、Safari等)

示例

提示:“打开https://rfpnotification.com并通过输入电子邮件地址加入等候名单:[test_user@example.com]"

之前 之后

运行脚本后,浏览器会截取屏幕截图,检查电子邮件是否已成功输入。

实际测试

开发人员设置

克隆仓库

git clone {url}

创建虚拟环境

python3 -m venv venv
source venv/bin/activate

安装依赖项

pip install -r requirements.txt

运行服务器

python server.py

该软件包附带了一个轻量级的MCP客户端,使用Google GenAI SDK来测试服务器。它在 server.py 文件。要使用它,你需要有一个谷歌GenAI API密钥。将其设置在 .env 归档 GEMINI_API_KEY={your_api_key}.

运行客户端

python server.py

建筑

mcp具有非常简单的架构,如下所示。如果此MCP托管在本地,则通过stdio进行通信;如果托管在云端,则通过http进行通信。