AppleScript - System Events Error : Access for assistive devices is disabled

家住魔仙堡 提交于 2020-01-02 01:58:14

问题


I have a problem with AppleScript and System Events.

I have check "Enable access for assistive devices" in the “Universal Access” preference pane in System Preferences.

When I try :

arch -i386 osascript -e 'tell application "System Events" to get the position of every window of every process'

I have this error :

System Events got an error: Access for assistive devices is disabled. (-25211)

Do you have any idea ?

Thanks a lot


回答1:


The problem is not the assistive devices. AppleScript seems to incorrectly return that error code when it tries to access windows of a process that can never have any windows (in my case it was "Google Chrome Helper").

You need to catch the errors. This works for me:

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

returning a list of coordinate pairs, such as {{1067, 22}, {31, 466}, {27, 56}, {63, 22}, {987, 22}} – is that what you were trying to get?




回答2:


On Mac OS X 10.9 you actually get the same error when the AppleScript Editor is not allowed to use Accessibility.

Here's how you enable it:

Go to System Preferences > Security & Privacy > Privacy > Accessibility.

Then, just check the checkbox left to the AppleScript Editor and the error should be gone.




回答3:


Similar to the post on this page about Mac OS X 10.9 (Mavericks), to resolve this issue on Mac OS X 10.8 (and likely on earlier versions of OS X also), you need to ensure that the "Enable access for assistive devices" option has been enabled in the Accessibility pane of System Preferences.



来源:https://stackoverflow.com/questions/10140334/applescript-system-events-error-access-for-assistive-devices-is-disabled

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!