• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Mein erstes Apple-Script Projekt - totaler Newbie

unknown7

Kaiserapfel
Registriert
28.01.07
Beiträge
1.716
Hallo liebe Community,

ich bastle gerade ein bisschen mit Apple-Script rum, weil mich die Materie sehr interessiert.
Ich habe es mir als aufgabe gesetzt ein kleines Browsergame (farmville bei Facebook) zu automatisieren. Weniger um ort erfolgreich zu sein als vielmehr um Apple Scipt benutzen zu können.
Das Problem an diesem Game ist, dass man die einzelnen Parzellen (Felder) im Browser immer anklicken muss, damit dort gepflügt/gesäht/geerntet wird. Das sollte doch mit apple script einfacher gemacht werden.
Ich habe einen Screenshot im Anhang... Das Script soll nichts anderes Machen als jede Parzelle nacheinander anzuklicken.

Aber mal ganz von vorne. Am Anfang reicht es mir, wenn ich es schaffe den browser zu aktivieren und einen Link (oder ein Lesezeichen) anzuklicken.

Leider funktioniert das hiermit nicht und ich weiß nicht warum...

Code:
tell application "safari"
    activate
    delay 4
end tell
tell application "System Events"
    click at {280, 220}
end tell
Die Koordinaten entnehme ich Snapz Pro X (der Bildschirm meines MB white von 08 ist in 1280 * 800 eingeteilt. Das sollte ja passen. Oder wie könnte ich die Koordinaten besser entnehmen?

Ich werde hier bestimmt ein bisschen Hilfe benötigen, vielleicht hat ja schonmal wer sowas gemacht und zeigt mir mal seinen Code, damit ich da ein bisschen was abschauen kann, ich bin wie gesagt was Programmierung und Scripting etc anbelangt totaler noob aber sonst sehr fit am Mac ;)

Viele Grüße und Dankeschön!
U7
 

Anhänge

  • Bildschirmfoto 2009-12-27 um 15.09.36.jpg
    Bildschirmfoto 2009-12-27 um 15.09.36.jpg
    146,2 KB · Aufrufe: 165

Nathea

Admin
AT Administration
Registriert
29.08.04
Beiträge
15.099
Auch "totale Newbies" sollten in der Lage sein, den passenden Forenbereich für die Bitte um Hilfe zu finden, oder? ;)

Ich habe Deinen Beitrag in den Bereich "OS X Developer & AppleScript" verschoben. Bitte achte beim nächsten neuen Thema auf eine bessere Platzierung.
 

unknown7

Kaiserapfel
Registriert
28.01.07
Beiträge
1.716
Ich habe das Apple-Script als Utility betrachtet und hätte es als Hybriss empfunden unter "Pro Foren" in diesem Bereich zu posten.

Danke trotzdem fürs verschieben und deinen netten Hinweis :innocent: o_O

Grüße! U7
 

454648654

Rheinischer Krummstiel
Registriert
17.03.06
Beiträge
385
Code:
tell application "safari"
    activate
    delay 4
end tell
tell application "System Events"
    click at {280, 220}
end tell

Diesen "click at" Befehl habe ich noch nie gesehen, was möglicherweise daran liegen könnte, dass es ihn nicht gibt...
 

unknown7

Kaiserapfel
Registriert
28.01.07
Beiträge
1.716
Diesen "click at" Befehl habe ich noch nie gesehen
Ich weiß auch nicht ob der richtig ist... wodurch würdest du ihn dann ersetzen? AS gibt mir keine Fehlermeldung aus aber es klickt auch nicht....
Den Befehl habe ich abgeschrieben, frag mich nicht mehr wo...
grüße!
U7
 

CloneOfMyself

Weigelts Zinszahler (Rotfranch)
Registriert
24.02.07
Beiträge
253
tell application "Safari"
   activate
   tell application "System Events"
      tell process "Safari"
         set winPos to position of window 1
         set objPos to {25, 60} -- bei mir ist dort der Bookmarks-Button
         set xPos to (item 1 of winPos) + (item 1 of objPos)
         set yPos to (item 2 of winPos) + (item 2 of objPos)
         click at {xPos, yPos}
      end tell
   end tell
end tell
GLEICH PROBIEREN
 
  • Like
Reaktionen: unknown7

unknown7

Kaiserapfel
Registriert
28.01.07
Beiträge
1.716
tell application "Safari"
activate
tell application "System Events"
tell process "Safari"
set winPos to position of window 1
set objPos to {25, 60} -- bei mir ist dort der Bookmarks-Button
set xPos to (item 1 of winPos) + (item 1 of objPos)
set yPos to (item 2 of winPos) + (item 2 of objPos)
click at {xPos, yPos}
end tell
end tell
end tell
GLEICH PROBIEREN

Ausgezeichnet!!! :)
Das funktioniert!

Wie entnimmst du denn die Koordinaten? Ich muss bei den Daten die mir Snapz Pro X (Screenshotprogramm) gibt immer 20 beim Y-Wert abziehen. Das kommt daher, dass die Menüleiste hier mitgezählt wird (20pixel hoch), bei Skript aber nicht!

Ich versuche das jetzt mal weiter zu bauen, wenn ich nochmal hilfe brauche (was bestimmt passieren wird tauch ich wieder auf ;)
 

unknown7

Kaiserapfel
Registriert
28.01.07
Beiträge
1.716
Soo, ich schaffe es mittlerweile mittels Skript das Safari-Fenster in den Vordergrund zu bringen und im Fenster einen Button oder einen beliebigen Link anzuklicken indem ich die jeweiligen koordinaten des Mausklicks ins Skript eingebe. Was ich jedoch nicht schaffe ist folgendes:

Ein Klick im Online-Spiel das im Adobe-Flash Player 10 läuft. Dort wird einfach kein klick ausgeführt.

Weiß jemand warum das so ist und wie eine Lösung aussehen könnte?

lG und danke für die Unterstützung!

PS:

so sähe die Ideallösung (hier leider .net) aus, ich bin aber schon mit viiiiiel weniger zufrieden
[YT]sU9lgFuZYRQ[/YT] ;)



U7
 
Zuletzt bearbeitet:

CloneOfMyself

Weigelts Zinszahler (Rotfranch)
Registriert
24.02.07
Beiträge
253
Für die Koordinaten finde ich PixelStick ganz brauchbar.

Und falls das mit dem Click der System Events gar nicht will, versuchs mal mit cliclick