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

请求完善Preview非菜单项Draw/Sketch的AppleScript快捷键脚本

嘿,这个问题我太熟了!辅助功能检查器绝对是你搞定这个脚本的利器,先给你说说它的作用,再帮你把脚本完善好~

一、辅助功能检查器(UI/Accessibility Inspector)的作用

它完全能帮你解决路径定位的问题,核心用处有这几个:

  • 实时可视化Preview窗口的UI层级结构:你可以用它的瞄准镜工具点击Draw/Sketch按钮,直接看到按钮所属的容器、控件类型等完整路径,再也不用瞎猜路径了
  • 适配工具栏/标记栏的不同状态:当工具栏隐藏时,按钮的父容器会发生变化,检查器能精准捕捉到这种状态下的正确路径,解决脚本里路径错误导致的点击失败问题
  • 操作超简单:打开/Applications/Utilities/里的「辅助功能检查器」,点击左上角的瞄准镜图标,对准Preview里的目标按钮就能看到详细结构

二、完善后的AppleScript脚本

我帮你调整了脚本逻辑,优先支持所有工具栏隐藏的场景,同时兼容标记栏显示的情况,还做了容错处理:

-- 可修改这里的功能名称,切换为"Draw" 或 "Sketch"
set targetTool to "Draw"

activate application "Preview"
delay 0.2 -- 给Preview预留窗口激活的时间,可根据设备响应速度调整

tell application "System Events"
    tell application process "Preview"
        -- 先检查是否有打开的窗口,避免无窗口时报错
        if exists window 1 then
            set targetWindow to window 1
            try
                -- 优先尝试:所有工具栏隐藏时的路径
                click radio button targetTool of radio group 1 of targetWindow
            on error
                try
                    --  fallback场景:标记栏显示时的路径
                    click radio button targetTool of radio group 1 of splitter group 1 of targetWindow
                on error errMsg
                    display dialog "无法找到" & targetTool & "按钮:" & errMsg buttons {"确定"} default button 1
                end try
            end try
        else
            display dialog "Preview没有打开的窗口!" buttons {"确定"} default button 1
        end if
    end tell
end tell

脚本细节说明

  • 开头的targetTool变量可以自由切换成"Draw"或"Sketch",你可以分别导出两个应用程序对应不同功能
  • 增加了窗口存在性检查,避免Preview无打开文件时触发报错
  • 缩短了延迟时间,适配大多数设备的响应速度
  • 严格按照你的需求,优先尝试工具栏隐藏的场景,失败后再兼容标记栏显示的情况

三、使用方法

  1. 打开「脚本编辑器」,粘贴上面的代码,修改targetTool为你需要的功能名称
  2. 点击菜单栏「文件」→「导出」,格式选择「应用程序」,保存为比如Preview-Draw.app或Preview-Sketch.app
  3. 打开「系统偏好设置」→「键盘」→「快捷键」→「应用快捷键」
  4. 点击「+」按钮,应用程序选择刚才保存的脚本应用,菜单标题随便填(比如"Toggle Draw Tool"),然后设置你想要的快捷键(比如Cmd+Shift+D)
  5. 对Sketch功能重复上述步骤,设置专属快捷键

这样就能用自定义键盘快捷键快速触发Preview的Draw/Sketch功能啦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 09:05:06