产品与设计
需要操作用户当前 Chrome 标签页做前端调试时,用…
通过 Playwriter CLI 控制用户当前打开的 Chrome 标签页,用于检查实时 UI 状态、执行脚本化浏览器操作、采集控制台输出和复现前端问题。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
需要操作用户当前 Chrome 标签页做特定
解决思路
- 在目标标签页上确认 Playwriter 扩展已启用(绿色)。
- 确认 CLI 可用:运行 `playwriter --version || npx -y playwriter --version`。
- 创建/附加会话:运行 `playwriter session new`。
- 针对该会话运行命令:运行 `playwriter -s 1 -e "console.log(await page.url())"`。
- 确认连接和标签页是否正确:运行 `playwriter -s <session> -e "console.log(await page.url()); console.log(await page.title());"`。
- 需要时收集页面结构:运行 `playwriter -s <session> -e "console.log(await accessibilitySnapshot({ page }))"`。
- 执行针对性操作(click/type/hover/fetch/evaluate)。
- 通过 `page.evaluate` 拉取日志和结构化状态。
- 用精确 ID、时间戳和观察到的状态变化总结发现。
- 从当前应用 UI 获取列表行/选项:运行 `playwriter -s <session> -e "const rows = await page.getByRole('option').all(); console.log(rows.length);"`。
- 读取弹窗/悬停内容:运行 `playwriter -s <session> -e "const row = page.getByRole('option').nth(0); await row.hover(); await page.waitForTimeout(700); console.log(await page.locator('[data-side]').first().innerText());"`。
- 运行任意页面内调试代码:运行 `playwriter -s <session> -e "const out = await page.evaluate(() => ({ href: location.href })); console.log(out);"`。
- 如果会话附加到错误标签页,在目标标签页点击扩展图标,然后重新运行 `playwriter session new`。
- 如果缺少 `playwriter` 命令,使用 `npx -y playwriter ...` 或全局安装。
- 如果执行错误提示连接过期,创建新会话。
- 除非任务需要变更,否则优先只读检查。
- 运行破坏性 UI 操作前先声明。
- 捕获日志时,在总结中脱敏敏感 token/用户数据。
适用边界 · 注意事项
- 不适用于无法在目标标签页启用 Playwriter 扩展或没有安装/调用 Playwriter CLI 的场景。
- 不适用于需要全新、隔离浏览器上下文而不是用户当前 Chrome 标签页的任务。
- 不适用于不允许任何破坏性 UI 操作且任务必须进行变更的场景。