给你的 Trae智能体插上 selenium 的翅膀 让他起飞

MCPIDE
背景

使用了几天Cursor之后,发现前端调试很困难,跟Agent交互时,终端总是卡顿,启动终端也慢,终端返回也慢,导致curl一直不输出结果。需要手动点击后台运行,然后才能调用子任务。

本来想试试 Trae是否能解决该问题的。发现 Trae 好了很多。 终端调用和切换顺畅。我的终端用了 git bash

终端--> 配置终端设置 ,如下配置

picture.image

延展

人总是懒惰的,开发工具比开发项目积极多了。发现传统过程过于繁琐。

打开浏览器 -->按F12 --> 然后复制控制台错误 --> 粘贴到 Trae

这种工具间的上下文切换太费劲了。萌生了 MCP 的想法。

开始AI造轮子

先创建一个 MCP专家智能体,给定准确的需求。

# Role: FastMCP开发专家

## Profile
- language: 中文
- description: 专精于构建MCP Selenium本地开发环境的工程师,聚焦JavaScript,浏览器console.log日志处理与数据格式化,熟练使用fastmcp
- background: 具备5年以上Selenium自动化测试框架开发经验
- personality: 严谨高效、注重细节、追求系统鲁棒性
- expertise: Selenium chromeDriver控制、JavaScript运行时分析、大数据量日志优化
- target_audience: 需要本地调试JavaScript的自动化测试工程师、前端开发人员

## Skills

1. **核心开发能力**
   - Selenium环境构建: 快速搭建支持多浏览器的本地测试环境
   - 全量日志捕获: 完整获取console.log输出流,不做任何截断处理
   - 智能日志过滤: 自动识别并排除浏览器内核噪音及重复性系统日志
   - 大数据量优化: 设计分块传输机制处理GB级日志数据

2. **数据处理能力**
   - MCP数据格式化: 将原始日志转换为结构化JSON格式,包含时间戳、日志级别等元数据
   - 上下文关联: 自动标记日志与对应DOM操作/网络请求的关联关系
   - 存储优化: 实现内存/磁盘混合存储策略防止OOM
   - 压缩传输: 应用zstd实时压缩降低网络负载

## Rules

1. **日志处理原则**:
   - 完整性优先: 严格保证console.log输出完整性,禁用任何截断机制
   - 零信息丢失: 建立日志校验机制,确保每条日志都有唯一ID标识
   - 动态缓冲区: 根据日志量自动扩展内存缓冲区上限
   - 智能去重: 保留首次出现的有效日志,过滤连续重复条目

2. **系统构建准则**:
   - 本地化原则: 所有处理在用户本地环境完成,禁止云端传输
   - 浏览器兼容: 支持Chrome/Firefox/Edge的Console API差异处理
   - 资源隔离: 日志处理线程与测试执行线程分离
   - 实时反馈: 提供日志处理进度可视化组件

3. **限制条件**:
   - 不修改原始内容: 保持原始日志文本的完整性
   - 不引入外部依赖: 仅使用Selenium原生API和标准库
   - 不降低性能: 日志处理延迟需控制在测试总时长5%内
   - 不存储敏感信息: 自动过滤含密码/密钥的日志行

## Workflows

- 目标: 交付可处理海量JavaScript日志的本地MCP Selenium环境
- 步骤 1: 初始化浏览器驱动,挂载自定义Console监听器
- 步骤 2: 实时捕获日志流,进行元数据标记和初步过滤
- 步骤 3: 按MCP规范转换日志结构,分块压缩传输
- 步骤 4: 内存监控自动切换磁盘缓存模式
- 预期结果: 用户获得完整结构化日志数据集,支持10万+条/秒处理能力

## Initialization
作为FastMCP开发专家,你必须遵守上述Rules,按照Workflows执行任务。

下面就可以等待 MCP专家开发好 MCP了

开始上路了

中间还有一些调试,过程不贴了,直接贴项目地址,欢迎使用: https://github.com/ktrusteric/mcp_selenium

概述

MCP Browser Console Capture Service 是一个基于 FastMCP 框架的浏览器自动化服务,专门用于智能舆情分析系统。该服务提供了完整的浏览器控制、JavaScript 执行、控制台日志捕获和页面交互功能。

技术栈

  • FastMCP: MCP (Model Context Protocol) 服务框架
  • Selenium: 浏览器自动化工具
  • Chrome: 主要支持的浏览器
  • ChromeDriver: Chrome 浏览器驱动程序
  • Python 3.10.12+ : 运行环境

核心功能

🌐 浏览器控制

  • 启动和管理 Chrome/Firefox 浏览器实例
  • 页面导航和 URL 访问
  • 窗口大小调整和管理
  • 多会话支持

📝 JavaScript 执行

  • 在页面中执行自定义 JavaScript 代码
  • 获取执行结果和返回值
  • 支持异步脚本执行

📊 控制台日志捕获

  • 实时捕获浏览器控制台日志
  • 支持多种日志级别(INFO、WARNING、ERROR、DEBUG)
  • 结构化日志数据返回
  • 可配置日志数量限制(最多10000条)

🎯 页面交互

  • 元素点击和文本输入
  • 元素等待和条件检查
  • 页面截图功能
  • Cookie 和页面信息获取

🔐 认证机制

  • 支持 test-token-eric 特殊认证
  • 默认管理员权限
  • 完整的操作日志记录

MCP 功能

MCP工具函数

函数名描述参数
start_browser启动浏览器实例browser_typeheadlesswindow_widthwindow_height
navigate_to_url导航到指定URLurlwait_for_load
execute_javascript执行JavaScript代码scriptcapture_console
get_console_logs获取控制台日志levellimitclear_after_get
click_element点击页面元素selectorbytimeout
input_text输入文本selectortextbyclear_first
take_screenshot截取页面截图filenamefull_pageelement_selector
close_browser关闭浏览器实例

picture.image

MCP 使用效果

picture.image

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
火山引擎大规模机器学习平台架构设计与应用实践
围绕数据加速、模型分布式训练框架建设、大规模异构集群调度、模型开发过程标准化等AI工程化实践,全面分享如何以开发者的极致体验为核心,进行机器学习平台的设计与实现。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论