用途:用于测试本地 Web 应用,编写原生 Python Playwright 脚本完成前端功能验证、UI 行为调试、浏览器截图和日志查看。
主要能力与决策路径:若目标是静态 HTML,可直接读取 HTML 文件确定选择器;失败或信息不完整时按动态应用处理。动态应用若服务器未运行,先用辅助脚本启动服务器并写简化 Playwright 脚本;若服务器已在运行,采用“先侦察后操作”:导航并等待 networkidle,截图或检查 DOM,从渲染结果确定选择器,再用发现的选择器执行操作。
辅助脚本:scripts/with_server.py 管理服务器生命周期,支持多个服务器。使用前先运行 --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() 编写同步脚本,始终以无头模式启动 chromium,页面加载后必须等待 networkidle 再检查,结束时关闭浏览器,选择器尽量使用 text=、role=、CSS 或 ID 等描述性写法,并添加 page.wait_for_selector() 或 page.wait_for_timeout() 等待。
限制与注意:动态应用检查 DOM 前不要跳过 networkidle 等待;参考文件包括 examples/ 下的 element_discovery.py、static_html_automation.py、console_logging.py。未提供收费、平台支持范围等其它信息。