关于 stitched-full-page-capture
针对单次整页截图显示不完整页面的捕获流程,尤其适用于延迟加载或滚动动画网站。它将稳定后的视口截图纵向拼接,并提供脚本来重新生成文章截图和裁剪图。
主要功能
- 01截图前滚动预热页面
- 02捕获稳定后的视口截图
- 03纵向拼接为整页图像
- 04从拼接图重新生成分区裁剪
- 05检查尺寸与图像内容
- 06通过脚本处理文章清单
适用场景
- 01修复 Framer 页面的空白截图
- 02捕获长页面中的延迟加载内容
- 03从可靠的页面图像制作分区裁剪
- 04将拼接图与滚动录屏对照检查
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ akillness/ jeo-skills --skill stitched-full-page-capture安装后在 Claude Code 中输入/stitched-full-page-capture确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
SKILL.toonagents/openai.yamlscripts/stitch_full_page_capture.mjs详细介绍
拼接式整页截图
概述
使用稳定后的视口截图,而不是依赖浏览器一次性生成的 fullPage 截图。对于 Framer 页面及其他采用延迟加载或滚动动画的网站,这一点尤其重要:MP4 可能看起来正常,但长截图却大部分空白。
何时使用此技能
- 延迟加载、滚动动画、Framer、WebGL/画布或大量揭示动画页面的整页截图为空白、灰色、白色、内容稀疏,或只显示一小条内容时。
- 一次性整页截图与正常工作的滚动录制 MP4 不一致,而 MP4 显示页面渲染正常时。
- 需要从可信的整页图像中截取文章证据或分区截图,而不是使用不可靠的原生
fullPage截图时。 - 通过随附的
stitch_full_page_capture.mjs脚本处理manifest.json,修复或重新生成每日 UI 灵感文章截图时。 - 通过检查尺寸、空白/灰色条带,以及与代表性静帧、MP4 和动态帧的一致性来验证拼接截图时。
- 不适用于原生
fullPage截图已能正确呈现、没有延迟加载、滚动动画或揭示动画问题的页面——此类页面使用普通的一次性截图即可。
核心工作流
- 打开真实页面 URL,而不是市场缩略图、封面图、混剪页面或资源 URL。
- 从顶部滚动到底部一次,预热页面,使延迟加载的媒体和揭示区域完成挂载。
- 返回顶部。
- 按视口大小或略有重叠的步幅向下滚动。
- 每次滚动停止后等待约 2 秒。
- 截取稳定后的视口。
- 将视口截图纵向拼接成一张整页图像。
- 从拼接图像中截取分区截图,而不是从浏览器原生
fullPage截图中截取。 - 将拼接图像与代表性静帧、MP4 和动态帧进行核对。
如果整页候选图像存在空白/灰色/白色条带、视觉内容极少、缺少延迟加载的区域、内容列极窄,或与滚动视频明显不一致,请予以舍弃。
脚本
对于每日 UI 灵感文章,如果此技能目录中提供了辅助脚本,请使用:
node <skills-root>/stitched-full-page-capture/scripts/stitch_full_page_capture.mjs \
--manifest articles/YYYY-MM-DD-ui-inspiration-capture/manifest.json
该脚本会:
- 读取
items[].pageUrl、fullPageImage和sectionImages; - 使用 Playwright Chromium 打开每个线上页面;
- 通过滚动一次预热延迟加载的内容;
- 截取稳定后的视口切片;
- 将切片拼接到
fullPageImage; - 从拼接图像重新生成每个已有的分区截图;
- 更新
manifest.json,写入fullPageCaptureMethod: "stitchedViewportScreenshots"、视口、步幅、分段数量及修正后的截图坐标。
实用选项:
--item 4 # repair only item 4, 1-based
--viewport 1440x1100 # default
--step 950 # default; use less than viewport height for overlap
--wait 2000 # ms to wait after each scroll stop
--quality 3 # ffmpeg JPEG quality, lower is better
验证
截图或修复完成后:
- 检查至少一个之前明显有问题的页面。
- 确认
sips -g pixelWidth -g pixelHeight full-page/*.jpg报告的宽高符合预期。 - 确认整页图像不是大部分空白,并且包含页面下方的内容。
- 确认分区截图坐标连续,且最后一段延伸至整页图像的高度。
- 运行项目常规检查,例如:
git diff --check -- articles/YYYY-MM-DD-ui-inspiration-capture/content.md articles/YYYY-MM-DD-ui-inspiration-capture/manifest.json
node scripts/check-ui-inspiration-duplicates.mjs articles/YYYY-MM-DD-ui-inspiration-capture/manifest.json
for f in articles/YYYY-MM-DD-ui-inspiration-capture/videos/*.mp4; do ffprobe -v error "$f" >/dev/null; done
注意事项
- 滚动视频可以证明页面在实际滚动过程中能够渲染,但不能替代整页静态截图证据。
- 原生
fullPage截图仍可保存为对照候选图,但除非其视觉效果与拼接截图一致,否则不要将其作为事实依据。 - 对于每日 UI 文章,请更新清单,并且只提交修复后的文章资源和元数据。
参考资料
评论
支持 Markdown