批量截图存档
它解决什么问题
一页一页截图,几十张,手动点截图键点到手酸,还得自己编号。
截图节点支持直接存文件,配合循环节点就能自动翻一页存一张,文件名自动带序号。
三种截图模式,选哪个
截图节点的 captureMode 有三档:
| 值 | 行为 | 适合 |
|---|---|---|
bitmap |
只输出图片对象给下游,不落盘 | 后面要接 OCR / 图像匹配 |
save_auto |
自动存到默认目录、自动命名 | 批量存档用这个 |
save_custom |
存到你指定的目录和文件名 | 要和别的文件对齐命名 |
批量存档选 save_auto,省掉自己管文件名的麻烦。要指定目录就用 save_custom。
分步做
1. 截一张,先验证目录
单独放一个「截图节点」,captureMode 设 save_auto,跑一次。
跑完看输出口 filePath 的值 —— 那就是它实际存的位置。先确认你能在相册或文件管理里找到这些图,再往下做批量。
2. 用 save_custom 时,目录和文件名怎么填
| 参数 | 填法 | 说明 |
|---|---|---|
保存目录 saveDirectory |
留空或填相对路径 | 留空用默认目录;填 截图 这种相对名会在默认目录下建子目录 |
文件名 fileName |
留空让别人自动命名 | 想自己编号就填,比如 page_1 |
目录留空是最稳的做法。 填绝对路径涉及存储权限,不同安卓版本行为不一样,容易存到你找不到的地方。
3. 包进循环
「循环节点」,count 填要截几张。
循环体 =
截图节点(save_auto)
↓
延迟节点(800 毫秒,等文件写完)
↓
滑动节点(翻到下一页)
↓
延迟节点(1500 毫秒,等新页面出来)
↓
接回循环节点
截图后那个 800 毫秒别省。 存文件是异步的,立刻滑动,偶尔会存成半张图或者上一页。
4. 记录截了哪些文件
截图节点的 filePath 输出口给出每张图的路径。接到「写文件节点」就能攒一份清单:
| 参数 | 填什么 |
|---|---|
路径 path |
一个 txt 的路径,比如 截图清单.txt |
内容 content |
接 filePath |
追加 append |
true |
append 必须开。不开的话每轮都覆盖,最后只剩最后一张的路径。
5. 区域截图(只要一小块)
不想整屏,设 captureRegion 为区域模式,再填 regionLeft regionTop regionRight regionBottom 四个值。
这四个是像素值,跟滑动/点击的坐标同一套。用悬浮窗的区域选择器取最省事。
注意:区域截图取的是屏幕上的那一块,不是某个控件。页面滚动时区域不动。
用到的节点
| 节点 | 干什么 |
|---|---|
| 截图节点 | save_auto 存文件,输出 filePath |
| 循环节点 | 重复「截一张 → 翻页」 |
| 滑动节点 | 翻到下一屏 |
| 延迟节点 | 等存盘完成、等新页面加载 |
| 写文件节点 | 把每张图的路径追加到清单 |
容易踩的坑
- 截图前没开屏幕截图权限。 节点会返回失败,但循环照跑,最后得到一堆空路径。第一次先单独截一张验证。
append忘了开。 清单里只有最后一条。- 文件名重复会覆盖。 用
save_custom且fileName固定不变的话,每轮存同一张,最后只剩一张图。要编号就把序号变量拼进文件名。 - 锁屏会中断。 截图任务跑的过程中锁屏,任务会停(这是全局行为)。