Wie erteile ich Zugriffsberechtigungen für meine AppleScript- und Systemereignisse in Mavericks?

Ich habe dieses alte AppleScript, das eine Mausklickfunktion verwendet:

activate application "Safari"
tell application "System Events"
    tell process "Safari"
        click at {424, 699}
    end tell
end tell

Es funktioniert nicht mehr, wahrscheinlich aufgrund einer Änderung der Funktionsweise der Zugriffsberechtigungen in Mavericks . Sie müssen Berechtigungen App für App erteilen. Leider ist SystemEvents.app nicht in der Liste der Apps, um Berechtigungen zu erteilen. Wie kann ich es erscheinen lassen? Gibt es eine andere Lösung, die nicht vom Herunterladen von Dienstprogrammen von Drittanbietern abhängt?

Dies ist die Fehlermeldung, die ich bekomme:

error "System Events got an error: Can’t make {424, 699} into type list." number -1700 from {424, 699} to list

Antworten (1)

Dein Problem ist unabhängig von der Zugriffserlaubnis.

Ersetzen Sie Ihre Klickzeile durch etwas wie click window 1und Sie werden gefragt, ob Sie den Zugriff auf die Barrierefreiheitsfunktionen zulassen oder verweigern möchten.

Es gibt ein Problem mit click atund ich weiß nicht, was es ist.

Edit: Mein Fazit nach einigen Tests: click atist kaputt.
Die Versionshinweise von AppleScript , die mit der Veröffentlichung von Mavericks aktualisiert wurden, geben keine Art von Entfernung dieser Funktion an. Einige, die ein Fehler sein könnten.

Ich habe einen Fehlerbericht an Apple gesendet.

Bearbeiten: Das Problem wurde auf Yosemite behoben, click atfunktioniert wieder gut!

Ich habe dieses Ergebnis nicht erhalten, als ich einen Befehl mit "Click Window 1" ausgeführt habe. Können Sie mir zeigen, wie Sie "click window 1" in einen Applescript-Befehl eingefügt haben? Und ich muss auf eine bestimmte Stelle im Fenster klicken. Wie füge ich einen Ort hinzu, um Fenster 1 zu klicken? (Wenn das möglich ist.)
activate application "Safari" set coor to {200, 200} tell application "System Events" tell process "Safari" click window 1 end tell end tellversuchen Sie es auch vom Terminal mit auszuführenosascript
Danke für das Posten des Fehlers! Ich vermute, Sie könnten Recht haben, dass es sich um einen Fehler handelt, da ich ein Skript mit dieser Aktion (buchstäblich) tausende Male verwendet habe. :)