3条命令搞定网页自动化playwright-cli 浏览器操作指南【免费下载链接】playwright-cliCLI for common Playwright actions. Record and generate Playwright code, inspect selectors and take screenshots.项目地址: https://gitcode.com/GitHub_Trending/pl/playwright-cli每次发版前都要手动点一遍流程、手动存几张截图核对playwright-cli 把 Playwright 的浏览器自动化装进终端开页、点击、填写、存截图都是单行 shell 命令浏览器会话在命令之间保持常驻每条命令执行完还会自动回传一份页面快照。读完这篇你会用 3 行命令驱动一次完整的网页交互验证。为什么是命令行而不是再写一份脚本先回答最常见的问题这和写 Playwright 脚本有什么不一样差别不在功能而在工作方式。playwright-cli 的核心是「常驻状态 元素引用」浏览器会话跨命令存活上一条命令的点击和这一条命令的填写发生在同一个页面上每条命令执行完自动回传快照页面上的元素都带着 e15 这样的 ref 编号不用你再猜选择器。写 Playwright 脚本用 playwright-cli启动成本写代码、处理加载逻辑npm 装一行就能跑状态保持自己维护 page 变量会话常驻cookie 跨命令生效元素定位自己写定位器快照自动给出 ref 编号适合场景CI 回归、批量执行交互验证、临时排查、交给编码智能体对编码智能体来说这一点更明显CLI 调用不往模型里塞大段工具定义和冗长的可访问性树省 token适合在上下文有限的环境里高频使用。一句话总结playwright-cli 是你和编码智能体共用的「手动浏览器」——一条指令一个动作错了重新拍快照再来一遍成本极低。完整命令清单见 README。一键安装无头模式跑通第一个页面前置条件只有一个Node.js 18 或更高版本。装好并打开第一个页面npm install -g playwright/clilatest playwright-cli open https://demo.playwright.dev/todomvc/ --headed playwright-cli screenshot --filenamefirst.png运行后你会看到第一行完成全局安装第二行弹出一个真实浏览器窗口显示 todomvc 示例站第三行在当前目录存下 first.png内容就是当前屏幕上的页面。 playwright-cli 默认无头运行不弹窗不代表卡死。前期调试时建议给open带上--headed亲眼看到浏览器状态排查起来直观很多。实战拍快照拿 ref走通一个待办表单还在纠结「这个按钮该写哪个选择器」在 playwright-cli 里可以跳过这步流程固定为拍快照 → 拿 ref → 操作 → 验证。playwright-cli snapshot playwright-cli fill e1 Buy groceries playwright-cli press Enter playwright-cli check e21 playwright-cli screenshot --filenametodo.png把 e1、e21 换成快照输出里的实际 ref 编号。运行后你会看到输入框被填入内容、任务被添加并勾选当前目录下的 todo.png 记录了页面最终状态。 ref 是页面一变就过期的编号页面跳转或 DOM 重建后旧编号会点不到重新拍一次快照即可。页面很长、快照大到看不下去时用find Add按文案搜出目标节点或先--depth4拍个浅快照再下钻。命名会话登录态不丢多个浏览器各住各的有没有遇到过刚登录完做完一轮操作浏览器一关登录态也没了默认情况下浏览器画像只存在内存里浏览器一关就清空。解法是命名会话每个名字对应一个完全独立的浏览器cookie、存储、标签页互不相干。playwright-cli -sauth open https://app.example.com/login --persistent playwright-cli -spublic open https://example.com playwright-cli list运行后list会列出 auth 与 public 两个会话你可以一边「登录 A」一边「浏览 B」。auth 那次多带了一个--persistent画像会写入磁盘下次重开浏览器登录态还在会话用久了用delete-data清掉旧数据即可。想让编码智能体固定用某个会话启动前设置环境变量PLAYWRIGHT_CLI_SESSION就行。更多组织方式见 references/session-management.md。常见报错排查没弹窗、点不到、关不掉日常用 playwright-cli 的「卡住」时刻基本逃不出这三个问题浏览器没弹窗不是卡死是无头模式在工作给open加--headed即可。点击失败、ref 找不到页面变了旧 ref 已过期重新拍快照拿新编号。进程赖在后台关不掉先用list确认它是否还活着实在不行用kill-all强杀。playwright-cli list playwright-cli --raw eval document.title playwright-cli close-all运行后第一行列出当前存活的会话第二行只输出当前页面的标题第三行关闭所有浏览器。 输出太吵、只要结果值时用--raw它剥掉页面状态和快照段落只留返回值可以直接管道给其他工具需要机器读取时用--json整段回复会包成 JSON。下一步把临时操作沉淀成回归上手之后有三个方向可以走用console、requests查页面日志与请求配合tracing-start/tracing-stop录下完整执行过程用route拦截并替换网络请求让「没有后端」的状态也能稳定复现或者干脆交给编码智能体——装好技能后对它说一句「用 playwright-cli 验证某个流程」它会自己读--help再动手。playwright-cli install --skills playwright-cli generate-locator e5 --raw运行后第一行把仓库自带的 SKILL 装入你本地的编码智能体用法可对照 skills/playwright-cli/SKILL.md它会因此自动学会 playwright-cli 的用法第二行把快照 ref 转成正式的 Playwright 定位器临时命令就此平滑过渡成测试用例。现在就把终端对准那个你反复手工验证的页面让第三次手动点击变成你的第一条命令。【免费下载链接】playwright-cliCLI for common Playwright actions. Record and generate Playwright code, inspect selectors and take screenshots.项目地址: https://gitcode.com/GitHub_Trending/pl/playwright-cli创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
