跳转到内容
返回

chrome-devtools-mcp实践

背景

之前刷到一个库,style-extractor,体验其【提取目标页UI风格转为生成提示词】能力时,简单体验了一把 chrome-devtools-mcp 的效果,实操时发现是单独起一个临时目录的真实 chrome 来让ai接管,执行对应操作 (pc真实启动,可操作)

可以在chrome搜索框里,执行 chrome://version/ 命令查看对应的资料目录判断,如下图就是该mcp启动的chrome

下面呢就是正常主要我们在用的chrome

于是在想,既然可以起浏览器来跑了,是不是可以把日常前端开发时对chrome的操作、工作流程等,也接入 Vibe Coding 的流程里呢,于是有了这篇文档,来验证实际可用性

前置准备

任意 Ai 终端,毕竟 chrome 官方出品,主流基本都支持,具体如下图:

安装 chrome-devtools-mcp,查看仓库 READEME.md 内找到对应自己在用的Ai终端按说明操作

以 cursor 为例,只用点击给出的安装按钮即可,然后打开cursor检查安装是否成功,操作路径如下:

正文

前端日常开发主要涉及几方面:

基于上述三点来分别进行测试,测试的工程为,自己的主页工程

测试站点:https://home.shuaxinjs.cn/

仓库:https://github.com/SHUAXINDIARY/index-page

Ps.启动mcp分析当前站点的页面情况,cursor内安装对应mcp后,会自行判断是否调用对应mcp服务 (该mcp在提示词出出现 打开xx页,等明显是对浏览器操作的提示词信息后,会自动吊起);且最好关闭cursor本身内置的浏览器

分析页面现状

先吊起浏览器分析当前站点首页UI现状,提示词:【打开 http://localhost:3000/ 输出当前首页所有卡片的位置】

图片

观察上图ai输出过程,会看到直接跑chrome运行站点,然后抓取真实dom开始进行计算分析,并阶段性截图输出,以供参考;下图为ai吊起的chrome 图片

然后进行交互测试,世界地图卡片组件有个放大按钮 (见下图箭头所指),让其测试点击后,地图全屏展开和关闭是否正常

图片

下图为测试交互过程,提示词:【测试世界地图全屏按钮点击交互,是否能完整全屏展示该地图】

图片

新功能开发 + 自行验证结果

提示词:【@src/App.tsx:1-74 调整卡片出现位置,每次加载页面后,随机分布卡片位置,但是所有卡片组成的整体均要位于可视窗口的垂直水平居中位置,实现后在页面测试效果】

图片

图片

过程中,观察吊起的chrome会根据对话窗内输出的行为指令,自动刷新和变更

debug测试

测试白屏报错,排查

图片 图片

性能分析

分析站点的加载情况

图片

上述过程中的一些分析信息片段:

图片 图片

手动在跑一次性能面板观察

图片 图片

因为有网络波动等原因,但大差不差,基本是有参考价值的

网络请求

过滤请求,提示词:【检索当前站点首页全部的图片请求有多少个】

图片 图片

图片

判断获取指定请求响应,提示词:【获取请求https://tiles.openfreemap.org/planet 请求的响应数据的结构,只要一级即可】

图片 图片

实际应用

获取目标页内容

经典爬虫,不展开了

提取目标页UI风格

另一篇分享

TS类型生成

存量项目没有完整类型定义的,可以直接让获取目标接口,然后抓取出参生成类型

在完整一点,可以封装skills,后续增量接口可以直接喂增量接口path,然后让ai在指定页接入,然后自己跑一遍,在生成对应的出入参,然后生成类型定义

结论

经过上述前端日常开发过程中的常见场景,基本时可以重度投入使用的,效果确实不错,关于token消耗情况如下 图片


除此之外,其实结合一些其他工作流做一些封装脚本可以完全做一套GUI自动化测试流程来提效;除过这个之外,最近看到vercel也搞了一套类似的,基于 playwright 封装的操作浏览器的cli - agent-browser,号称能压缩 token 90%,因为是终端CLI,感觉有不少潜力,有待尝试

PS.最新看到 cloudflare 基于AI做了一套类似 Next.JS 的框架 - vinext,其中用到了该库做UI渲染测试,对应出处 blog



下一篇
2026-05-泰国
×