recorder面板不是html功能,无法通过html或javascript启用;它仅是chrome devtools内置工具,需chrome 117+、启用chrome://flags/#enable-devtools-recorder实验开关、重启后在devtools中手动启动。

Recorder 面板不是 HTML 功能,不能通过写 <script></script>、data- 属性或任何 HTML 标签启用。它完全运行在 Chrome DevTools 内部,和页面代码无关。
Chrome DevTools Recorder 怎么启动(必须满足的条件)
不依赖 HTML,只依赖 Chrome 版本与 DevTools 状态:
- Chrome 必须是
117+版本(chrome://version查看) - 需手动启用实验开关:
chrome://flags/#enable-devtools-recorder→ 设为Enabled→ 重启浏览器 - 打开目标页面后,按
Ctrl+Shift+I(Win/Linux)或Cmd+Option+I(macOS)唤出 DevTools - 点击右上角
⋯→More tools→Recorder;或直接在工具栏找“播放键+圆点”图标
录制时页面跳转/表单提交失败的常见原因
Recorder 按 DOM 事件时间戳机械回放,不感知 JS 异步状态,极易因时机错位失败:
将 Markdown 文章转换为微信公众号兼容的纯 HTML 格式。当用户要求"转成微信格式"、"生成公众号文章 HTML"、"排版到微信草稿箱"、"微信粘贴格式"时触发。输出带内联样式的纯 HTML,微信编辑器可直接渲染,无需额外适配。支持标题、段落、列表、粗体、行内代码、表格、引用块、代码块、配图的完整转换。
- 点击触发路由跳转(如
location.href或 SPA 导航)后,下一步立即执行 → 回放失败 → 必须在步骤间手动插入Wait for network idle或Wait for element - 输入框填值后按
Enter,但 JS 监听的是blur而非keydown→ 默认Press key不触发 → 改用Insert text步骤 - 按钮由 JS 动态生成(如
document.body.appendChild(button)),录制时存在,回放时未就绪 → 必须为该按钮添加前置Wait for element步骤 - 鼠标悬停(
hover)菜单未被记录 → Recorder 当前不捕获 hover 事件 → 只能显式点击或加Wait for element后再Click
导出的 JSON 文件怎么用于自动化回放
Recorder 自身只支持导出 JSON,无法直接分享给同事看效果,也不能直接在 HTML 中执行:
- 导出文件(如
recording.json)本质是操作序列,需配合@puppeteer/replay才能真正跑起来 - 安装依赖:
npm install @puppeteer/replay puppeteer - 命令行回放:
npx @puppeteer/replay recording.json - 有头模式调试:
PUPPETEER_HEADLESS=false npx @puppeteer/replay recording.json - 注意:JSON 中的 selector(如
input[name="q"])若页面结构变更,回放会直接报TimeoutError: waiting for selector failed
为什么不能把 Recorder 录制逻辑嵌入 HTML 页面
因为它的整个生命周期都在 DevTools 进程里,和渲染进程隔离:
- 没有提供任何全局 API(如
window.Recorder或chrome.recorder) - 不响应
DOMContentLoaded或任何页面事件 - 即使你在 HTML 里写
<button onclick="startRecording()"></button>,startRecording函数也根本不存在 - 所谓“导出 JS 文件”只是早期 Canary 版本的临时行为,当前稳定版(117+)仅支持 JSON 导出,且明确说明该 JSON 是为 Puppeteer Replay 设计的序列化格式
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










