用途:测试本地 Web 应用,验证前端功能、调试 UI 行为并截图。方式为编写原生 Python Playwright 脚本。
主要能力:提供辅助脚本 scripts/with_server.py,用于管理服务器生命周期并支持多个服务器;可结合 Playwright 完成导航、截图、DOM 检查与自动化操作。
用法:先运行脚本的 --help 查看用法,不要先读源码。单服务器示例: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 逻辑,服务器自动管理,建议使用 sync_playwright(),始终以 headless 模式启动 chromium,结束后关闭浏览器。
选择器策略:静态 HTML 可直接读取文件识别选择器;动态应用先导航并 wait_for_load_state('networkidle'),再截图或检查 DOM,从渲染状态识别选择器后执行操作。常见误区:动态应用检查 DOM 前需先等待 networkidle。建议使用 text=、role=、CSS 选择器或 ID 等描述性选择器,并添加合适等待,如 page.wait_for_selector() 或 page.wait_for_timeout()。
参考文件:examples/ 含常见模式示例,如 element_discovery.py、static_html_automation.py、console_logging.py。
限制:资料未说明支持的浏览器范围、收费情况或平台要求;脚本应作为黑盒直接调用,避免读入源码污染上下文。