用途:通过与本地 Web 应用交互来完成前端功能验证与 UI 调试,支持截图取证。
主要能力:以原生 Python Playwright 脚本驱动浏览器;区分静态 HTML 与动态 Web 应用并给出不同处理路径;对动态应用采用“先侦察后操作”模式,等待 networkidle 后截图或检查 DOM,再从渲染状态中提取选择器并执行操作;支持全页截图、获取页面内容与元素定位。
使用方式:静态 HTML 可直接读取文件以确定选择器;动态应用若服务器未运行,先启动服务器,再编写脚本。示例结构:用 sync_playwright() 启动 chromium 无头模式,新建页面后 goto 本地地址(如 http://localhost:5173),调用 page.wait_for_load_state('networkidle') 等待 JS 执行,随后执行自动化逻辑,最后关闭浏览器。侦察阶段可用 page.screenshot(path='/tmp/inspect.png', full_page=True)、page.content()、page.locator('button').all() 等方式检查渲染后的 DOM,再基于发现的选择器执行动作。
适用场景:本地前端应用的功能回归、UI 行为排查与截图验证。
限制与注意:动态应用不要在等待 networkidle 之前检查 DOM;建议使用 sync_playwright() 编写同步脚本,结束时始终关闭浏览器,选择器尽量使用 text=、role=、CSS 或 ID 等描述性写法,并添加 page.wait_for_selector() 或 page.wait_for_timeout() 等适当等待。其它细节暂未提供。