AppleScript - 系统事件错误:禁用辅助设备访问

Tok*_*tok 8 macos applescript

我遇到AppleScript和System Events的问题.

我在"系统偏好设置"的"通用访问"偏好设置面板中选中了"为辅助设备启用访问权限".

当我尝试:

arch -i386 osascript -e'告诉应用程序"系统事件"以获取每个进程的每个窗口的位置'

我有这个错误:

系统事件出错:禁用辅助设备访问.(-25211)

你有什么主意吗 ?

非常感谢

NSA*_*ict 11

在Mac OS X 10.9上,当AppleScript Editor不允许使用辅助功能时,实际上会出现相同的错误.

以下是启用它的方法:

转至系统偏好设置 > 安全和隐私 > 隐私 > 辅助功能.

在此输入图像描述

然后,只需选中AppleScript编辑器左侧的复选框,错误应该消失.

  • 如果通过`osascript`从命令行运行脚本,您还需要将Terminal添加到启用Accessibility的应用程序中. (7认同)

fan*_*gen 8

问题不在于辅助设备.AppleScript的似乎不正确地返回错误代码,当它试图访问一个过程,绝不能有任何窗口的窗口(在我的情况,这是"谷歌Chrome浏览器帮助").

你需要抓住错误.这对我有用:

tell application "System Events"
    set procs to processes
    set windowPositions to {}
    repeat with proc in procs
        try
            if exists (window 1 of proc) then
                repeat with w in windows of proc
                    copy w's position to the end of windowPositions
                end repeat
            end if
        end try -- ignore errors
    end repeat
end tell
return windowPositions
Run Code Online (Sandbox Code Playgroud)

返回一个坐标对列表,例如{{1067,22},{31,466},{27,56},{63,22},{987,22}} - 这是你想要得到的吗?