1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  2. Unsere jährliche Weihnachts-Banner-Aktion hat begonnen! Wir freuen uns auf viele, viele kreative Vorschläge.
    Mehr dazu könnt Ihr hier nachlesen: Weihnachtsbanner 2016

    Information ausblenden

Accessibility Inspector

Dieses Thema im Forum "AppleScript" wurde erstellt von Troy1977, 07.12.05.

  1. Troy1977

    Troy1977 Gast

    Hallo,

    würde gerne einen Button automatisch mit Apple Skript drücken und habe folgende Zeilen geschrieben:

    click button "OK" of sheet of window "triumph" of window "Systemeinstellungen"

    -- triumph ist wohl der Name meines Monitorpresets.
    Funktioniert so leider nicht :(
    Bekomme manchmal die Fehlermeldung "NSReceiverEvaluationScriptError: 4"
    Habe ich mit dem Accessibility Inspector nicht die richtigen Fenster identifiziert?

    Da steht
    <AXApplication: "Systemeinstellungen">
    <AXWindow: "triumph">
    <AXSheet>
    <AXButon: "OK">


    Attributes:
    AXRole: "AXButton"
    AXRoleDescription: "button"
    AXHelp: "(null)"
    AXEnabled: "true"
    AXFocused (W): "false"
    AXParent: "<AXSheet>"
    AXWindow: "<AXWindow: "triumph">"
    AXTopLevelUIElement: "<AXSheet>"
    AXPosition: "x=617 y=144"
    AXSize: "w=91 h=32"
    AXTitle: "OK"


    Actions:
    AXPress - press


    Denke hier sind nur die ersten 4 Zeilen wichtig oder?

    Wäre echt XXLSuper wenn mir jemand hier den Aufruf richtig gestalten könnte.

    Ciao

    P.S.: Respekt an ATL, der hier wohl u.a. der Crack ist
     
  2. atl

    atl Niederhelfenschwiler Beeriapfel

    Dabei seit:
    04.11.04
    Beiträge:
    842
    So müsste es funktionieren:
    Code:
    delay 1
    try
    	click button "OK" of sheet 1 of window "triumph"
    end try
    Bemerkungen:
    1. Ein kurzer Delay vor dem (automatischen) Klicken hilft gegen Fehler bei höherer CPU-Belastung
    2. Nutze sheet 1 anstelle von sheet. Die Fenster-Klassen (window, sheet, dialog, button,...) erwarten i.d.R. einen Namen oder eine ID bzw. Nummer hinter der Klassenbezeichnung.
    3. of window "Systemeinstellungen" kann aus der "click button"-Zeile entfernt werden, da das Fenster mittels window "triumph" eindeutig identifiziert wird.
    Yepp, die 4 Zeilen zeigen dir den hierarchischen Aufbau des "Pfades" zu deinem UI-Element. In AppleScript gepackt lautet das dann wie folgt:
    Code:
    button "ok" of sheet 1 of window "triumph" of application "Systemeinstellungen"
    Der Fehler in deiner obigen Zeile ist, dass es kein Fenster "Systemeinstellung" gibt, da das die Applikation bezeichnet.* :)

    Nein, nicht wirklich. Ich bin AppleScript-Anfänger. Aber dank PreFab UI Browser bekommt man große Teile des AppleScript-Sourcecodes schon vorgelegt und bracht den nur noch wie gewünscht zusammen stecken. :-D

    ByE...

    [SIZE=-1]*) Hatte ich übrigens in meiner Mail zu dem Thema vorhin übersehen. :([/SIZE]
     
  3. Troy1977

    Troy1977 Gast

    Also es lag nicht daran, die Variable WindowName hat nicht richtig oder immer funktioniert, jetzt habe ich bei der Auswahl der Auflösung und bei der Nachfrage die Variable fix auf "triumph" gesetzt und siehe da meine 5 Schlaflosen Nächte sind vergessen :)))))))))))
    Warum die aber manchmal funktioniert hat und manchmal nicht ist mir immer noch ein Rätsel. Und nun verfahre ich nach der Weisheit:

    Never touch a running System!!!
     

Diese Seite empfehlen