SuperAPI AI 工具集

ui-screenshots

编程与开发

查看项目

更新于 10-16 08:48

技能介绍

用途:在开发过程中捕获网页应用与图形界面的截图,用于记录视觉变化,例如截取运行中应用的当前状态、记录改动前后的界面、截取悬停或选中等等待交互状态,以及从整页截图中裁剪出特定区域。

依赖安装:pip install playwright Pillow -q 以及 playwright install chromium;桌面窗口方案需 pip install mss pillow。

核心用法:用 Playwright 以较高视口高度和 full_page=True 截取整页原图,等待 networkidle 并额外等待约 4 秒以便图表异步渲染;随后用 PIL 的 img.crop((left, top, right, bottom)) 按实际像素裁剪,并反复迭代裁剪而非重复截图。交互状态通过 locator 的 hover 或 click 实现,选中态可在点击后把鼠标移开以避免悬停效果。

桌面与 Electron:可见的桌面窗口可用 ctypes 配合 Win32 API 按标题查找窗口,再用 mss 截取窗口区域;Electron 应用只能用 Node.js 版 Playwright 通过 CDP 截取,即使窗口最小化也可用,启动时需指定 --user-data-dir 临时目录。

限制:网页截图需要本地运行的应用或可访问的 URL;mss 桌面截图要求窗口可见且未被遮挡;Electron 截图不支持 Python Playwright;客户端渲染较重的单页应用可能需要 networkidle 之外的额外等待逻辑。改动前的状态应在修改代码前截取,前后对比需使用相同视口宽度与裁剪范围。