如何在 Mac 上用 Automator 重复截图
用 Take Screenshot 和 Loop 搭建 Automator 截图流程;需要按顺序保存文件时,再改用 Shell 操作。

本指南将带你在 Automator 中搭建重复截图流程。你会添加 Take Screenshot 和 Loop,测试结果;需要有序文件时使用 Run Shell Script;最后把流程保存成应用。
检查 Automator 的屏幕录制权限
这一流程需要 Automator 获得屏幕录制权限。打开系统设置 > 隐私与安全性 > 屏幕与系统音频录制;如果列表中已有 Automator,请将它启用。第一次测试出现权限请求时,请批准;macOS 提示后重新打开 Automator。
只使用 Take Screenshot 或 screencapture 时不需要辅助功能权限。只有流程需要发送按键或控制其他应用时,才会用到该权限。
选择原生操作还是 Shell 操作
添加操作前先决定采用哪条路线。原生操作保持可视化设置;Shell 则能让每次执行分别保存文件,并支持固定坐标。
| 需求 | 更合适的 Automator 方式 |
|---|---|
| 直观地了解流程 | Take Screenshot + Loop |
| 选择定时全屏或交互式截图 | Take Screenshot |
| 每次执行都保存为单独文件 | Run Shell Script + Loop |
| 截取固定矩形 | 带 -R 的 Run Shell Script |
| 使用连续编号或精确帧数 | 命令行 Shell 循环 |
| 按大致时限停止 | Loop 操作 |
方案一:使用 Take Screenshot 和 Loop
创建 Workflow
- 打开 Automator。
- 测试时选择 Workflow。
找到 Take Screenshot 操作
- 在操作资料库中搜索 Take Screenshot。
- 双击结果,或把它拖入流程区域。
设置截图和 Loop 操作
- 选择截图类型,以及是否使用定时延迟。
- 选择结果的保存位置。
- 在 Take Screenshot 后添加 Loop。
- 选择 Loop automatically,并为第一次测试设置较短的停止时长。
- 点击 Run。
Apple 的 Loop 操作会重复它之前的操作。第一次运行设为 1 分钟,比无限循环更安全。
原生流程适合学习操作顺序和制作简单的可视化自动化。请特别留意保存位置。如果 Take Screenshot 把结果放进剪贴板,每次循环都会替换上一张图,结束时只剩最后一次截图。
要保留完整序列,应选择能把每次结果写入磁盘的保存位置或后续操作,再检查 1 分钟测试生成的前三个文件。如果每次执行都要生成一个可排序文件,请使用下面的 Shell 方法。需要 frame-001.png 这类精确名称时,应使用命令行 Shell 循环。
方案二:组合 Run Shell Script 和 Automator Loop
Apple 提供了 Automator Run Shell Script 操作说明。一个只截一次的简短脚本很适合与 Automator 自带 Loop 搭配:
- 新建另一个 Workflow。
- 搜索并添加 Run Shell Script。
- 把 Shell 设为
/bin/zsh。 - 粘贴脚本。
- 在 Run Shell Script 后添加 Loop。
- 选择 Loop automatically,测试时设为 1 分钟后停止。
- 点击 Run,并检查输出文件夹。
/bin/zsh,再粘贴下面的完整脚本。RUN_DIR="$HOME/Desktop/automator-captures"
mkdir -p "$RUN_DIR"
STAMP=$(date +%Y%m%d-%H%M%S)
screencapture -x -m "$RUN_DIR/capture-$STAMP.png"
sleep 5
每次执行都会用时间戳保存一张主显示器截图,等待 5 秒,再让 Loop 重复流程。时间戳能让文件按时间排序,但并不是连续帧编号。
Automator 的 Loop 提供的是大致时限。需要精确帧数或 frame-001.png 这类名称时,应使用命令行方法。
更多 screencapture 参数、格式、翻页和长时间运行控制,请参阅 Mac 命令行截图指南。
保存可重复使用的 Automator 应用
Automator 文档类型在新建文档时选择。Workflow 正常运行后,新建一个 Application 文档,把测试好的操作复制进去,并使用 Dashboard Screenshot Run 这类具体名称保存。
可双击运行的应用很方便,但也可能立即开始截图。第一次延迟要足够长,方便摆放目标窗口;输出文件夹也应在流程中清楚可见。
排查流程问题
| 问题 | 解决方法 |
|---|---|
| 只剩最后一张截图 | 不要循环使用只写入剪贴板的目标;保留每次结果,或使用时间戳 Shell 输出 |
| 截图为空 | 在“屏幕与系统音频录制”中允许 Automator,重新打开后再试 |
| 流程重复时间超过预期 | 测试时为 Loop 设置较短的停止时长 |
| Shell 输出覆盖旧图片 | 每个文件名保留时间戳;需要连续编号时改用单个 Shell 循环 |
| 截图区域错误 | 重新摆放窗口或更新 -R,再测试三帧 |
| 流程看起来卡住 | 定时或交互式截图可能正在等待输入,请检查屏幕和 Automator 日志 |
Automator 不够用时
Automator 适合少量、稳定的流程。如果每次都要换窗口、按键、帧数或时长,或者需要检查步骤和其他导出格式,专用截图应用可能更容易管理。
如果想在一个界面中调整这些选项,Shotomatic 会把截图设置、画面检查和导出放在一起。请参阅 Shotomatic 如何在 Mac 上完成截图自动化。如果主要目标是生成有序文档,请参阅在 Mac 上把截图保存为 PDF。
常见问题
Automator 能在 Mac 上重复截图吗?
可以。先添加 Take Screenshot,再添加 Loop。这个组合适合可视化流程;如果每次都要保存为单独的时间戳文件,可以使用 Shell 操作。
为什么 Automator 截图流程只保留剪贴板中的最后一张图?
每次循环都会替换剪贴板的上一项内容。请为每次截图使用唯一文件名,或通过 Run Shell Script 保存带时间戳的连续文件。
应该使用 Automator 的 Loop,还是 Shell 循环?
希望流程保持可视化时使用 Loop。文件名、帧数、截图坐标和时间必须放在一起精确控制时,使用 Shell 循环。
可以把流程保存成应用吗?
可以。开始时直接创建 Application 文档,或把测试好的流程重新建成 Application,即可通过双击运行。
相关文章
查看更多文章


Mac 怎么截图:系统自带工具与第三方应用对比
了解何时 Mac 自带截图快捷键已经够用,何时第三方软件更合适,并对比 CleanShot X、Snagit 和 Shotomatic。

把重复截图整理成可交付成果
Shotomatic 可在 Mac 上捕捉、整理并导出截图会话。