mcpField
P
playwriter

playwriter

github.com/brianlovin测试与质量3792.7k 次安装31 周前更新
代码仓库

关于 playwriter

通过 Playwriter 操作用户当前 Chrome 标签页的 Skill,支持连接会话、检查页面、执行定向操作,以及读取日志和页面状态。

主要功能

  1. 01连接当前 Chrome 标签页
  2. 02检查页面结构与内容
  3. 03执行定向页面操作
  4. 04读取日志和结构化页面状态
  5. 05排查过期或错误的会话

适用场景

  1. 01测试时检查当前页面
  2. 02收集界面选项与悬停内容
  3. 03调试页面行为和状态变化

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/brianlovin/agent-config --skill playwriter

安装后在 Claude Code 中输入/playwriter确认已加载。

附带文件agents/openai.yaml

详细介绍

Playwriter

使用此技能通过 Playwriter 操控用户当前激活的 Chrome 标签页。

完整文档见:https://playwriter.dev/

快速开始

  1. 确认目标标签页上的 Playwriter 扩展已启用(显示绿色)。
  2. 确认 CLI 可用:
playwriter --version || npx -y playwriter --version
  1. 创建/附加会话:
playwriter session new
  1. 针对该会话运行命令:
playwriter -s 1 -e "console.log(await page.url())"

核心工作流

  1. 确认连接和目标标签页正确:
playwriter -s <session> -e "console.log(await page.url()); console.log(await page.title());"
  1. 按需收集页面结构:
playwriter -s <session> -e "console.log(await accessibilitySnapshot({ page }))"
  1. 执行有针对性的操作(点击/输入/悬停/获取/评估)。
  2. 通过 page.evaluate 获取日志和结构化状态。
  3. 总结发现,准确列出 ID、时间戳和观察到的状态转换。

实用命令

从当前应用界面获取列表行/选项:

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 ... 或全局安装。
  • 如果执行错误提示连接已过期,请创建新会话。

安全措施

  • 除非任务要求修改,否则优先进行只读检查。
  • 执行破坏性界面操作前,先告知用户。
  • 收集日志时,在摘要中隐去敏感令牌/用户数据。

评论

支持 Markdown