关于 chrome-devtools
使用 chrome-devtools-mcp 检查并操作 Chrome 页面和扩展程序的浏览器自动化技能,涵盖页面定位、快照、元素操作、视觉检查及扩展测试。
主要功能
- 01导航并定位浏览器页面
- 02通过快照检查页面结构
- 03操作页面元素
- 04截取屏幕并检查样式
- 05执行页面脚本
- 06使用已启用工具测试扩展
适用场景
- 01自动化前检查页面
- 02根据快照填写或点击元素
- 03检查页面样式和运行时数据
- 04验证扩展程序行为
MCP 相关
通过 chrome-devtools-mcp 工具控制和检查 Chrome。README 介绍了页面范围操作,以及可选的扩展和内存工具。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ chromedevtools/ chrome-devtools-mcp --skill chrome-devtools安装后在 Claude Code 中输入/chrome-devtools确认已加载。
详细介绍
核心概念
浏览器生命周期:浏览器在首次工具调用时自动启动,并使用持久化的 Chrome 配置文件。可通过 MCP 服务配置中的 CLI 参数进行配置:npx chrome-devtools-mcp@latest --help。
可通过提供以下标志启用额外的工具:
- 如需扩展工具,请使用
--categoryExtensions标志。 - 如需内存工具,请使用
--memoryDebugging标志。
页面定位:页面级工具需要 pageId 参数来定位特定页面。使用 list_pages 查看可用页面及其 ID(例如 pageId: 1),或使用通过 new_page 创建页面时返回的 ID。
注意:对于 evaluate_script,定位页面时 pageId 为必填项。但是,当启用 --categoryExtensions 时,pageId 为可选项,你可以改为传入 serviceWorkerId,以便在扩展后台 Service Worker 中执行求值。
元素交互:使用 take_snapshot 获取带有元素 uid 的页面结构。每个元素都有一个唯一的 uid 用于交互。如果找不到某个元素,请重新获取快照 —— 该元素可能已被移除,或者页面已发生变化。
工作流模式
与页面交互之前
- 导航:
navigate_page或new_page - 等待:如果你知道要查找的内容,使用
wait_for确保内容已加载。 - 快照:使用带
pageId的take_snapshot了解页面结构 - 交互:使用快照中的元素
uid进行click、fill等操作,并传入对应的pageId。
高效获取数据
- 对于大型输出(截图、快照、追踪),使用
filePath参数 - 使用分页(
pageIdx、pageSize)和过滤(types)来最小化数据量 - 在输入操作上设置
includeSnapshot: false,除非你需要更新后的页面状态
工具选择
- 自动化/交互:
take_snapshot(基于文本,速度更快,更适合自动化) - 视觉检查:
take_screenshot(当用户需要查看视觉状态时) - CSS 与样式检查:使用
get_css_styles检查匹配的规则、层叠和 CSS 变量。将输出视为权威且完整的结果。 - 附加细节:对于
get_css_styles或take_snapshot无法提供的运行时 DOM/JS 数据,使用evaluate_script。
并行执行
你可以并行发送多个工具调用,但要保持正确的顺序:导航 → 等待 → 快照 → 交互。
测试扩展
继续之前:扩展工具(
install_extension、list_extensions等)仅在 MCP 服务以--categoryExtensions标志启动时可用。如果这些工具不在你的工具列表中,请停止并让用户更新其 MCP 服务配置:{ "mcpServers": { "chrome-devtools": { "command": "npx", "args": ["chrome-devtools-mcp@latest", "--categoryExtensions"] } } }更新后,用户必须重启 MCP 服务(或其 AI 客户端),更改才会生效。
- 安装:使用
install_extension并传入未打包扩展的路径。 - 识别:从响应中或通过调用
list_extensions获取扩展 ID。 - 触发操作:如适用,使用
trigger_extension_action打开弹出窗口或侧边面板。 - 验证 Service Worker:使用带
serviceWorkerId的evaluate_script(省略pageId和args)检查扩展状态或触发后台操作。在页面中求值时,传入pageId(省略serviceWorkerId)。 - 验证页面行为:导航到扩展运行的页面,并使用
take_snapshot检查内容脚本是否正确注入了元素或修改了页面。
故障排除
如果 chrome-devtools-mcp 功能不足,请引导用户使用 Chrome DevTools 界面:
如果启动 chrome-devtools-mcp 或 Chrome 时出现错误,请参阅 https://github.com/ChromeDevTools/chrome-devtools-mcp/blob/main/docs/troubleshooting.md。