使用 Chrome DevTools MCP 进行调试:让 AI 在浏览器中“拥有双眼”

主要介绍了 Chrome DevTools MCP 如何与 AI 编码助手结合,为浏览器中的代码调试提供强大支持。它允许 AI 直接连接到浏览器,查看、诊断和验证代码运行结果。今日文章由 @Emmanuel John 分享,前端早读课@飘飘编译。

做网页开发已经很多年了,也用过不少调试工具,但没有哪个像 Chrome DevTools MCP 这样让我感到兴奋。长久以来,AI 编码助手在 “看不见” 的情况下写代码,它们无法看到自己代码运行后的实际效果。


Chrome DevTools MCP 让 AI 编码代理 “拥有了视觉”。它能将 AI 编码助手直接连接到浏览器,使其能够查看、诊断并验证自己的工作结果。

在这篇指南中,我不仅会演示如何使用它,更会告诉你为什么它成了我首选的调试伙伴。

你将学会如何:

设置并配置 Chrome DevTools MCP 客户端
借助 AI 辅助诊断控制台错误
模拟用户行为
调试样式与布局问题

前置条件

在开始之前,请确保你具备以下条件:

基本的网页开发与调试知识
一个支持 MCP 的 AI 编码助手(我使用的是 Gemini CLI)
已安装 Chrome 浏览器
已安装 Node.js v20.19 或更新的 LTS 版本
熟悉 Chrome DevTools(了解即可,非必须)

准备好了吗?我们开始吧。

什么是 Chrome DevTools MCP 服务器?

Chrome DevTools MCP 服务器 是 Google 设计的一个 MCP 服务器,它让 AI 代理能够在你最喜欢的代码编辑器中直接访问 Chrome DevTools。

借助它,AI 代理可以执行以下操作:

检查 DOM 与 CSS
查看性能追踪
执行 JavaScript
读取控制台输出

这个工具赋予 AI 编码代理强大的调试能力,接下来我们会在实践中逐步探索。

它包含以下实用工具:clickupload_filelistnetworkrequestslist-console_messagestake_snapshot、…… 以及更多

本文不会覆盖所有工具,而是通过实际操作帮助你理解它们的使用方式,并将其融入到你的开发工作流程中。

如何设置 Chrome DevTools MCP

我将使用 Gemini CLI 与 Chrome DevTools 交互。以下是设置步骤:

首先在终端中运行以下命令:
 cd ~
进入用户主目录后,再运行:
 cd .gemini
进入 .gemini 文件夹后,执行:
 ls
此命令会列出所有文件和文件夹。我们要关注的是 settings.json 文件。

运行以下命令在 VS Code 中打开它:
 code settings.json
在文件中添加以下内容并保存:
 "mcpServers": {
   "chrome-devtools": {
     "command": "npx",
     "args": ["-y", "chrome-devtools-mcp@latest"]
   }
 }

文件修改完成后,看起来应该类似如下:


要验证是否成功在 Gemini CLI 中配置了 MCP 服务器,运行命令:
 /mcp
你应该会看到类似下面的界面:


让我们做个测试,为了验证我们是否能与服务器通信,可以用 AI 尝试以下命令:

“检查这个应用在 http://localhost:5173 的状态”


此时浏览器会显示提示:“Chrome is being controlled by automated test software”
这表示 Gemini CLI 通过 MCP 服务器成功接管了浏览器实例。

它返回了以下输出:


接着它使用 navigate-page 工具访问页面,再用 take_snapshot 工具截取快照,并返回结果:

我已导航至 http://localhost:5173/,页面标题为 “tunein”,但页面内容似乎是空白的。

接下来,我们将使用 MCP 服务器来调试这个页面问题。

诊断控制台错误

我们想看看应用的运行情况,以及控制台中是否有错误。

现在我们不需要手动打开 Chrome 去看错误信息,AI 代理可以直接读取控制台错误并在编辑器中展示。

输入以下提示开始:

我们需要查看这个应用可能在控制台中显示的错误。


AI 返回结果:

React 未定义。

接着我们让它修复这个问题,并通过 Chrome DevTools MCP 服务器验证修复是否成功:

修复 “React is not defined” 错误,并使用 Chrome DevTools MCP Server 确认更改。


我已授权 Gemini CLI 修改代码。

Gemini 修改完代码后,请求我授权使用 list_console_messages 工具来确认错误是否仍存在。

它报告说 “React is not defined” 错误已消失,控制台只显示一个提示:建议安装 React DevTools。

很好!我允许它再拍摄应用的浏览器快照。

它返回的结果表明页面已经正确显示:


最后,我们在浏览器中打开页面确认:

调试样式与布局问题

我们的应用需要在所有屏幕尺寸上都保持响应式布局。可惜现在的效果在移动端看起来相当糟糕:

那就来修复它吧。

假装我们还没发现它 “不响应式” 的问题,我们可以先让 AI 编码代理测试一下运行在 http://localhost:5173/ 的应用在不同屏幕下的响应情况:


但不知为何,即使多次尝试使用 resize_page 工具,我仍不断收到错误信息:


好在 AI 编码代理非常 “机智”,它改用 take_screenshot 工具为页面截取了多张截图:


接下来,我让 AI 修改样式,让页面在所有屏幕尺寸上都具备良好的响应性。

输入以下提示:

根据截图结果,让页面在所有屏幕尺寸下都具备响应式布局。

就在我修复响应式问题的过程中,应用界面上突然出现了 Vite 报错:


这正好是检验 MCP 服务器能力的好机会。我让 AI 去排查:

我在屏幕上遇到 Vite 错误,你能通过 Chrome MCP 服务器查看并分析吗?


果然,Gemini CLI 使用 MCP 服务器的 take_screenshot 工具读取了浏览器上的报错信息:


注意到我们不需要手动打开浏览器复制错误内容再粘贴到终端中 ——AI 就能直接识别并读取错误。

经过修复后,应用在所有屏幕尺寸上都能正常显示:


不过,又出现了一个新问题 —— 页面元素似乎相互重叠:


于是我再次请求 Chrome MCP 服务器帮忙:


Gemini CLI 立刻行动,使用 MCP 服务器的 navigate-page 工具访问页面,并通过 take-screenshot 截图分析问题。它很快定位并修复了错误:

模拟用户行为与测试

可以使用 Chrome 开发者工具的 MCP 服务器来模拟用户行为和进行测试。

借助它的 fill 工具,服务器能访问输入框、点击按钮,并在操作后生成一份关于输入与按钮状态的详细报告。

让我们来实际看看效果。

我向 AI 代理输入以下提示:


以下是它的部分输出结果:


从结果可以看到,它对页面上的按钮与输入框进行了详细分析。

接着我继续追问:

像真实用户一样,逐个测试页面中的输入框和按钮。

Gemini CLI 开始执行用户交互测试,几分钟后返回了详细报告,描述了输入框和按钮的运行状态:


如果截图中的报告看不清楚,以下是文字版内容:

“我尝试与页面元素交互。由于搜索栏设置了 readOnly 属性,输入无效且超时。点击 ‘Premium’ 链接没有任何变化,说明它只是一个占位符。
点击 ‘Support’ 链接时出现 DOM.resolveNode 错误,暗示页面在动态重新渲染。
最后,点击 ‘Download’ 链接同样超时,确认它也是一个占位符。
总结:所有交互元素目前对用户来说都是无效的。”

我们暂时不会修复这些交互问题,而是将在下一步通过 AI 代理和文本编辑器继续进行网络与性能测试。

测试网络性能与 CPU 性能

接下来,我们来看看如何使用 Chrome DevTools MCP 服务器 对应用进行网络和性能测试。

在本节中,Chrome DevTools MCP 服务器为我们提供了两个非常实用的工具:emulate_cpuemulate_network

网络性能测试

首先,让我们测试网页在 2G、3G 和 4G 网络下的表现。

输入以下提示:

我需要你检查运行在 http://localhost:5173/ 的应用,并展示该页面在 2G、3G 和 4G 网络下的性能表现。


执行后,AI 在代码编辑器中生成了一份详细报告,展示了页面在不同网络环境下的加载速度和响应情况。

下面是报告摘要及优化建议:


不得不说,这太酷了 —— 这能节省我们大量的时间。

CPU 性能测试

接下来,我们来测试页面在不同 CPU 条件下的表现。

输入以下提示:

我想了解这个页面在不同 CPU 场景下的性能表现。


几条命令之后,AI 就生成了完整的 CPU 测试报告:

构建自动化测试工作流

与其每次都手动执行这些测试步骤,我们完全可以让 AI 编码代理自动化完成。实现这一点的方法之一是使用 GitHub Spec Kit。

当你把 Chrome MCP 服务器 与 Spec Kit 结合使用时,可以在代码编辑器中自动执行:

用户行为测试
网络速度测试
CPU 性能测试

这对喜欢 “沉浸式编程(vibe coding)” 的开发者来说尤其方便。

结语

Chrome DevTools MCP 搭配 AI 编码代理,正在彻底改变网页开发的方式 —— 它让 AI 真正拥有了 “浏览器的眼睛”。

这种结合使 AI 能够:

诊断并修复错误
自动化调试任务
深度分析应用性能与用户行为

这让我们离 “AI 实时理解并与浏览器交互” 的未来更近一步。不久之后,我们或许就能看到由 AI 驱动的自动化测试、智能错误检测,甚至用户体验优化。

转自:https://mp.weixin.qq.com/s/FYNG99V4RkTjmo6wl5navg

文章版权归原作者所有或来自互联网,未经允许请勿转载。如有侵权请联系我删除,谢谢!
THE END
分享
二维码
打赏
< <上一篇
下一篇>>
文章目录
关闭
目 录