You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Automator操控Preview应用:窗口聚焦与操作实现求助

解决Preview窗口聚焦与自动化操作的问题

我之前也碰到过类似的Preview窗口自动化难题,AppleScript其实是处理这类精准窗口操作的最佳方案,比Automator自带的动作靠谱得多。下面是能实现你需求的完整脚本,以及关键步骤的说明:

完整AppleScript代码

tell application "Preview"
    -- 先激活Preview,确保后续操作能正确作用到它
    activate
    
    -- 找到并聚焦"Screenshot.png"窗口
    set targetWindow to first window whose name is "Screenshot.png"
    set current window to targetWindow
    
    -- 复制图片内容(用系统快捷键确保兼容性,也可以用AppleScript直接复制文档内容)
    tell application "System Events"
        keystroke "c" using command down
    end tell
    
    -- 关闭该窗口(如果需要保存修改可以去掉without saving)
    close targetWindow without saving
    
    -- 关闭"Markup Badges.png"窗口
    close (first window whose name is "Markup Badges.png") without saving
end tell

关键细节说明

  • 窗口匹配准确性:脚本里的窗口名称必须和Preview窗口标题完全一致,包括后缀名,如果你之前的脚本没成功,大概率是名称匹配出了问题(比如漏了.png或者大小写不对)。
  • 激活应用的必要性:一定要先activate Preview,否则系统可能把快捷键操作发送到其他应用,导致复制失败。
  • 关闭窗口的选项:without saving参数是避免弹出保存提示,如果你需要保存修改,可以删掉这个参数。

在Automator中使用的步骤

  1. 打开Automator,新建一个快速动作或者应用程序(根据你的使用场景选择)。
  2. 在左侧动作库中搜索并添加Run AppleScript动作。
  3. 把上面的代码粘贴进去,替换默认的示例代码。
  4. 保存后运行即可。

如果还是遇到窗口找不到的问题,可以先添加一段调试代码,打印所有Preview窗口的名称,确认你要匹配的名称是否正确:

tell application "Preview"
    get name of every window
end tell

运行这段脚本会在Automator的日志里输出所有窗口的名称,对照修正你的目标名称即可。

内容的提问来源于stack exchange,提问作者Jimmy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 10:36:39