• 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

Mausklick und Aktion an bestimmter Stelle einer Webseite

iamx

Golden Delicious
Registriert
11.01.09
Beiträge
9
Hallo, ich bin neu hier und habe gleich mal eine Frage, aber zunächst zum Thema.
Ich habe ein einfaches Skript geschrieben, welches eine bestimmte Webseite aufruft. In dieser Webseite soll nun ein Klick an einer bestimmten Stelle erfolgen, und dann eine Zahl eingegeben werden. Dieser Ablauf soll nun noch 3 mal mit Enter bestätigt werden, dann soll der Ablauf sich selbst von vorne starten. Ach ja, zwischen den Klicks sollen immer 5-6 sekunden liegen, damit sich der browser entsprechend refreshen kann.
Ich habe so angefangen:
property target_URL "www. ... .de"
open location target_URL (Website wird aufgerufen)
delay 5 (5 Sekunden, zum Aufbau der Website)
click <--- hier liegt mein Problem... Wie geht es weiter, wie möchte apple die Koordinaten, was muss ich eingeben, um "Enter" auszulösen und wie wiederholt sich das Skript?

Nommal zum Befehl Click : //Wie mache ich den Klick genau an diese Stelle? Die genaue Position habe ich (Bsp: 769/338) über Bildschirmfoto aufgerufen, aber wie gibt man die Koordinaten sauber an?

Danke im Voraus für eure Hilfe ;)
 

iRaszibilitus

Boskop
Registriert
06.12.08
Beiträge
210
ich habe mal ein java programm geschrieben das so ca das macht was du brauchst ;)
Falls du java kannst kannst du es etwas erweitern wenn du willst.
Frag per PM, dann schicke ich es dir.
 

LittlePixel

Strauwalds neue Goldparmäne
Registriert
09.07.08
Beiträge
641
Hallo,

ich behaupte mal, dass das gar nicht notwendig ist. ;)
Mittels Javascript ist das sicherlich ohne GUI-Interaktionen möglich.

Viele Grüße
 

LittlePixel

Strauwalds neue Goldparmäne
Registriert
09.07.08
Beiträge
641
... und GUI-Scripting sollte immer die letzte Lösung sein. ;)

Viele Grüße
 

Bomberzocker

Auralia
Registriert
08.06.08
Beiträge
202
du kannst dsa mti nenm repeat machen. z.b.
repeat 20 times --frei einstellbar wie oft du wiederholen willst oder einfahc weglassen für endlos (Vorsicht mit endlos und kein exit repeateinbauen!)
set fenster to display dialog "hallo" buttons {"Stop", "Weiter"}
if button returned of fenster="Stop" then exit repeat.

end repeat

das kliken eght irgendwie in die richtung: click at {"769/338"}
mehr weiss ich zum klicken auch nciht.
Ich hoffe ich konnte nen bisschen helfen.
 

iamx

Golden Delicious
Registriert
11.01.09
Beiträge
9
du kannst dsa mti nenm repeat machen. z.b.


das kliken eght irgendwie in die richtung: click at {"769/338"}
mehr weiss ich zum klicken auch nciht.
Ich hoffe ich konnte nen bisschen helfen.

Phat danke an alle, die bisher geantwortet haben... Java ist für mich noch ein Buch mit sieben Siegeln, würde es echt gerne so mitm Apple Script umsetzen. Ich habe mich jetzt konkret entschieden, wie es ablaufen soll, nämlich so:

Safari öffnen, Webseite aufrufen - ! open location...
Kurze Wartezeit - ! delay ...
1 Mausklick an bestimmter Stelle - ! click at ...

Ziffer einfügen - ???

1 Mausklick an bestimmter, anderer Stelle - "
Kurze Wartezeit - "
1 Mausklick an bestimmter , wiederum anderer Stelle - "
Kurze Wartezeit - "

Dann das ganze von vorne, entweder mit Repeat, wie oben erwähnt, oder vllt. schreibe ich das Skript auch ein paar mal und lass es immer vom jeweils anderen öffnen, ginge das?
So auf die Art: Skript A läuft wie oben, ist fertig und öffnet Script B, das, wenn es auch am Ende angelangt ist, Skript C öffnet, welches dann wieder Skript A öffnet, usw. Timeout müsste ich ausrechnen, sollte allerdings schon paar Minuten laufen ohne zu laggen. Die Skripts würden sich hierbei nur in den Koordinaten der Maus ein wenig unterscheiden. Kewl wäre es natürlich, wenn jmd sowas als Java Prog hätte, oder ginge das auch einfach mit Delphi, Stichwort "Klicktrainer"!? In der Art, dass man die Koordinaten der auszuführenden Klicks jedesmal frei eingeben kann und das eine gewünschte Anzahl an Wiederholungen durchliefe, premium natürlich mit der Möglichkeit, eine Ziffer nach einer bestimmten Aktion einzufügen, aber sowas muss man halt selber machen... Mal schauen, evtl. hat hier ja wieder jmd n Tipp/Kritik zur Umsetzung.


g iamx
 
Zuletzt bearbeitet:

iamx

Golden Delicious
Registriert
11.01.09
Beiträge
9
<script> versteht die Nachricht click nicht <:(
 

LittlePixel

Strauwalds neue Goldparmäne
Registriert
09.07.08
Beiträge
641
Hallo,

ich bin mir sicher, dass sich Dein Problem ohne GUI-Scripting lösen lässt. Dieses Ziel solltest Du eigentlich auch anstreben.

Hier ein Beispiel, wie Du Javascript mit AppleScript verwendest: http://www.apple.com/applescript/archive/safari/jscript.02.html

Angewöhnen solltest Du Dir auch, dass Du immer Deinen bereits entworfenen Code zur Verfügung stellst. Somit können alle Nutzer einen Blick hineinwerfen und profitieren auch noch von dem "entwickelten" Code.

Nur "click" bringt Dich nicht weiter. Hast Du Dir Beispiele angesehen?

http://www.apple.com/applescript/uiscripting/

Nein, natürlich nicht.

Code:
tell application "Safari" to activate
tell application "System Events" to tell process "Safari" to click at {0, 0}

Das ist nämlich schon alles! ;)

Aber meines Erachtens die schlechteste Möglichkeit der Umsetzung.

Viele Grüße
 

Schniko

Reinette Coulon
Registriert
01.08.08
Beiträge
954
Was ist es denn für eine Seite und was genau passiert dadurch? In der Regel ist so etwas nicht gestattet oder anders lösbar.
 

iamx

Golden Delicious
Registriert
11.01.09
Beiträge
9
So, erlaubt ist es, sonst würde ich im Forum nicht danach fragen.
Ich habe das Problem mittlerweile dank eurer Hilfestellungen "zufriedenstellend" gelöst.
Nun noch eine kleine Schönheitssache : Wie erreicht man, dass Apple Script im Hintergrund läuft?
Das Skript läuft nämlich ätzend lange und ich würde gerne andere Programme im Vordergrund laufen lassen. Es ist so, dass das Skript immer das Fenster im Vordergrund ansteuert, lässt sich dies denn ändern?
In einem ähnlichen Beitrag, den ich über die SuFu gefunden habe, wurde keine Lösung gefunden, dort gings aber auch ums Icon im Dock, also vllt. weiß jmd. was?
 

LittlePixel

Strauwalds neue Goldparmäne
Registriert
09.07.08
Beiträge
641
Hallo,

und wieder lässt Du niemanden an Deinem Code teilhaben.
Wie ist es uns möglich Dir da zu helfen? ;)

Ich könnte fast wettern, Du hast es via GUI-Scripting realisiert.
Somit ist Deine Frage, eher eine rhetorische Frage. Überlege nochmals...

GUI-Scripting ist nichts anderes, als würdest Du die Klicks und Anweisungen durchführen.
Somit kann es gar nicht im Hintergrund laufen. ;)

Viele Grüße
 

iamx

Golden Delicious
Registriert
11.01.09
Beiträge
9
Huch, ich dachte, es wäre klar, wie ich den Code realisiert habe.
Und ja, ich habe selbstständig nach dem Click Befehl gesucht, dies lieferte aber sowohl in deutsch, als auch in englisch, nur unbefriedigende Ergebnisse. Schließlich habe ich es ohne klick realisiert.

Hier der Code:


property target_URL : "entsprechende Website"

open location target_URL

delay 5


tell window 1
tell application "System Events"
tell process "Safari"

tell window 1
delay 1
keystroke tab & tab &... & Zahl
end tell



delay 1

tell window 1
keystroke return
end tell


tell window 1
keystroke return
end tell


delay 5

tell window 1
keystroke tab & tab & return
end tell

end tell
end tell

end tell

delay 5
 

Goidma

Rheinischer Krummstiel
Registriert
07.09.08
Beiträge
377
Hallo liebe AppleScripter!

Ich bin Newbe bei appleScript und möchte die wohl einfachste Frage stellen:
Wie simuliert man das Drücken einer Taste??
wäre nett, wenn ihr es anhand eines Beispiels formulieren könntet
danke im Voraus;)
 

SaschaHB

Erdapfel
Registriert
12.02.09
Beiträge
2
Also zu simulieren einer Taste nehme ich entweder: key code 48,
was zum beispiel die TAB-taste wäre,(was auf welcher Taste ist, einfach mal nach der Keycode Tabelle suchen)
für ganze Wörter benutze ich: Keystroke "blabla"
 

SaschaHB

Erdapfel
Registriert
12.02.09
Beiträge
2
Ich habe da auch mal ein Frage, die ich schon oft gelesen habe, allerdings mit all den Antworten nichts anfangen konnte. Es geht mal wieder darum mit Applescript ein Mausklick auf einer Website zu machen.
Also ich benutze den Automator und habe Mac OS X Tiger.

Beispielsweise habe ich das klicken bei iCal versucht, was mir aber mit diesem Programm nicht gelang:

tell application "iCal" to activate
tell application "System Events"
tell process "iCal"
delay 2
click at {500, 600}
end tell
end tell

auch über cliclick habe ich schon was gelesen bzw. es versucht, was mir auch nicht gelang:

property cliclickPath : desktop/cliclick
tell application "Safari"
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)
set clickcommand to (cliclickPath & " " & xPos & " " & yPos)
do shell script clickcommand --click ausführen
end tell
end tell
end tell

hier kommt die Meldung das cliclick nicht definiert ist

wenn ich es wegnehme kommt es bei position zur nächsten Fehlermeldung:
„System Events“ hat einen Fehler erhalten: NSReceiverEvaluationScriptError: 4

nun habe ich das Program mal einfach etwas reduziert:

property cliclickPath : desktop
tell application "Safari"
tell application "System Events"
tell process "Safari"
set objPos to {25, 60} -- bei mir ist dort der Bookmarks-Button
set xPos to (item 1 of objPos)
set yPos to (item 2 of objPos)
set clickcommand to (cliclickPath & " " & xPos & " " & yPos)
do shell script clickcommand -- click ausführen
end tell
end tell
end tell

aber auch hier eine Fehlermeldung:
„System Events“ hat einen Fehler erhalten: {desktop folder, " ", 25, " ", 60} kann nicht in Typ string umgewandelt werden.
was mir garnichts sagt-.-

Nun einfach mal die Simple frage, ob es überhaupt möglich ist mit applescript ein Mausklick auszuführen?
Oder ob es erst unter Leopard geht? Ich habe auch etwas von einer recording Funktion im Automator gelesen, aber die gibt es womöglich auch erst unter Leopard oder?
 

iamx

Golden Delicious
Registriert
11.01.09
Beiträge
9
Nun einfach mal die Simple frage, ob es überhaupt möglich ist mit applescript ein Mausklick auszuführen?
Oder ob es erst unter Leopard geht? Ich habe auch etwas von einer recording Funktion im Automator gelesen, aber die gibt es womöglich auch erst unter Leopard oder?

Zu der simplen Frage eine simple Antwort, keine Ahnung. Google mal danach, die Ergebnisse auf Englisch sind hilfreich, führten mich aber auch nicht zum Ziel.
Die Recorder Funktion unter Leopard habe ich für den Klick auch ausprobiert, er recordet schlicht gesagt nichts, der aufgezeichnete Mausklick erscheint nicht in den Befehlen.