用途:测试本地 Web 应用,编写原生 Python Playwright 脚本以验证前端功能、调试 UI 行为、捕获截图与页面内容。资料强调不应手动读取体积较大的辅助脚本源码,而是以黑盒方式直接调用,以免占用上下文窗口。
主要能力:附带 scripts/with_server.py,用于管理服务器生命周期并支持多个服务器;提供决策思路:静态 HTML 可直接读取文件识别选择器,若失败或信息不完整则按动态应用处理;动态应用若服务器未运行,先运行 python scripts/with_server.py --help 了解用法,再使用该辅助脚本并编写简化 Playwright 脚本;若服务器已在运行,采用“先侦察后操作”模式:导航并等待 networkidle、截图或检查 DOM、从渲染状态识别选择器、再据此执行操作。
用法示例:单服务器 python scripts/with_server.py --server "npm run dev" --port 5173 -- python your_automation.py;多服务器可重复使用 --server 与 --port 参数,例如分别启动 backend 的 python server.py(端口 3000)与 frontend 的 npm run dev(端口 5173),再跟上 python your_automation.py。自动化脚本中只写 Playwright 逻辑,服务器由辅助脚本自动管理;示例使用 sync_playwright()、p.chromium.launch(headless=True)、page.goto('http://localhost:5173')、page.wait_for_load_state('networkidle')。
适用场景与限制:适合需要验证前端交互、调试动态页面、截图或抓取页面内容的本地 Web 应用测试。常见误区是未在动态应用上等待 networkidle 就检查 DOM。最佳实践包括:优先把捆绑脚本当黑盒使用,先用 --help 查看用法;使用同步 API;结束时关闭浏览器;使用 text=、role=、CSS 选择器或 ID 等描述性选择器;添加 page.wait_for_selector() 或 page.wait_for_timeout() 等适当等待。示例目录包含 element_discovery.py、static_html_automation.py、console_logging.py。其他关于安装命令、收费与平台支持的细节暂未提供。