用 Playwright 与本地网页应用交互、做前端功能验证、调试 UI 行为、截图、抓取浏览器控制台日志时使用。触发词:'测试网页'、'自动化点击'、'截图网页'、'验证前端'、'Playwright'、'跑一下这个网站'、'检查页面按钮'。适合:验证本地 dev 服务、回归测试 UI、抓取渲染后 DOM、对比页面状态。注意:纯后端 API 测试不属于本技能范畴。
网页应用自动化测试是一项面向实际任务的技能,主要用于测试本地网页应用,写原生 Python Playwright 脚本;自带辅助脚本 : scripts/with_server.py —— 自动管理服务器生命周期(支持同时起多个服务);
示例:用 with_server.py;起单个服务:;起多个服务(如后端 + 前端):。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
测试本地网页应用,写原生 Python Playwright 脚本。
自带辅助脚本:scripts/with_server.py —— 自动管理服务器生命周期(支持同时起多个服务)。运行前先 --help 看用法,不要一上来就读源码;它作为黑盒直接调用即可。
任务 → 是静态 HTML 吗?
├─ 是 → 直接读 HTML 文件找选择器
│ ├─ 找到 → 用选择器写 Playwright 脚本
│ └─ 不行/不完整 → 当成动态(见下)
└─ 否(动态 webapp)→ 服务器已经在跑了吗?
├─ 没跑 → 先跑 `python scripts/with_server.py --help`,再用辅助脚本 + 精简 Playwright 脚本
└─ 已在跑 → 侦查后行动:
1. 导航并等待 networkidle
2. 截图或检查 DOM
3. 从渲染结果里找选择器
4. 用找到的选择器执行操作
起单个服务:
python scripts/with_server.py --server "npm run dev" --port 5173 -- python your_automation.py
起多个服务(如后端 + 前端):
python scripts/with_server.py --server "cd backend && python server.py" --port 3000 --server "cd frontend && npm run dev" --port 5173 -- python your_automation.py
自动化脚本里只写 Playwright 逻辑(服务由辅助脚本自动起停):
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch(headless=True) # 始终用 headless
page = browser.new_page()
page.goto('http://localhost:5173') # 服务已就绪
page.wait_for_load_state('networkidle') # 关键:等 JS 执行完
# ... 你的自动化逻辑 ...
browser.close()
page.screenshot(path='/tmp/inspect.png', full_page=True)
content = page.content()
page.locator('button').all()
❌ 动态应用没等 networkidle 就检查 DOM
✅ 先 page.wait_for_load_state('networkidle') 再检查
scripts/ 里的脚本;它们处理复杂流程且不污染上下文窗口。用 --help 看用法再直接调。sync_playwright()browser.close()text=、role=>、CSS 选择器、或 IDpage.wait_for_selector() 或 page.wait_for_timeout()examples/ 目录(在发布前可附带,或把逻辑写进 SKILL.md 上文):
element_discovery.py —— 发现页面上的按钮、链接、输入框static_html_automation.py —— 用 file:// 打开本地 HTMLconsole_logging.py —— 自动化时抓取控制台日志playwright(需 pip install playwright 后 playwright install chromium)。本技能自带 scripts/with_server.py。
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.3万人学习
共49课时 | 82.7万人学习
最新文章