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

如何用AppleScript自动化非标准应用并访问其主内容?

解决System Events无法识别非标准应用主内容的方法

如果System Events只能识别到应用的菜单栏,说明这款非标准应用大概率没实现AppleScript accessibility支持,或是采用了非原生UI框架(比如特定配置的Electron、Qt),可以试试以下几种方案:

  • 用绝对坐标点击(绕过UI元素识别)
    你之前写的click at {500,500}本质是坐标点击,但返回结果指向菜单栏,可能是应用窗口没正确前置。先确保窗口激活并获得焦点,再执行点击:

    activate application "Foo"
    delay 0.5 -- 给应用留足激活时间
    tell application "System Events"
        tell process "Foo"
            set frontmost to true
            click at {500, 500}
        end tell
    end tell
    

    注意这里的坐标是主屏幕左上角为原点的全局坐标,若应用在副屏,需要对应调整数值。

  • 借助第三方工具模拟硬件级输入
    如果坐标点击仍受限于System Events的识别逻辑,可以用cliclick这类命令行工具(需提前安装),直接模拟硬件点击,不受应用UI框架限制:

    # 先激活目标应用
    osascript -e 'activate application "Foo"' && sleep 0.5
    # 点击全局坐标(500,500)
    cliclick c:500,500
    
  • 检查辅助功能权限
    确认System Events已加入系统偏好设置「安全性与隐私」→「隐私」→「辅助功能」列表并勾选,权限未生效时可尝试重启System Events或目标应用。

  • 尝试直接定位窗口元素
    有些应用的UI Elements仅返回菜单栏,但窗口本身可被识别,试试定位窗口后再执行相对坐标点击:

    activate application "Foo"
    delay 0.5
    tell application "System Events"
        tell process "Foo"
            tell window 1
                click at {500, 500} -- 此处坐标为窗口内部的相对坐标
            end tell
        end tell
    end tell
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 18:12:07