_FFClick von Click zu (MouseDown und MouseUp)

  • Hallo ihr AutoIt Bastler.
    Ich versuche gerade ein Programm zu schreiben, indem es Notwendig ist ein Bild/Objekt auf ein anderes Objekt zu ziehen. Dabei wollte ich die Funktion _FFClick umschreiben auf meine Bedürfnisse. Das ganze scheiterte an der Realisierung, da ich nicht weiss was "FFau3.simulateEvent(" & $sElement1 & ",'MouseEvents','mousedown')" damit gemeint ist und woher es kommt um es zu verstehen. Wo hier ein "MouseDown" steht, steht bei FFClick ein "click".

    Das ganze soll ohne Mouse Koordinaten und MouseMove gehen!

    1. Kann man statt dem Klick überhaupt ein "MouseDown" schreiben!?
    2. Woher stammt dieser Ausdruck simulate Event und die nachfolgenden Befehle (Habe schon den halben Tag über Google danach gesucht)!?
    3. Haben diese Befehle etwas mit Mozrepl zu tun?
    4. Hat jemand einen besseren Ansatz dass das ganze ohne Mouse Funktioniert!?
    5. Kann mir jemand meinen gedanklichen Fehler nennen den ich mache, weil die Funktion so nicht funktioniert!?

    Danke schonmal vorab


    Cu Nathaniell

  • _FFClick simuliert schon einen Mausclick.

    1) Nein, das wird meist nicht zum Erfolg führen. Die Methode 'click' ist die Sequenz: 'MouseDown', 'MouseUp', 'Click'
    2) simulateEvent ist eine selbstgeschriebene JavaScript Funktion die von der FF.au3 während _FFConnect/_FFStart zu FireFox/Flock gesendet wird, damit diese später einfacher aufzurufen ist.
    Mehr Infos:
    http://www.w3.org/TR/DOM-Level-2-Events/events.html
    3) Nein - alles JavaScript
    4) Das hat nichts mit der Maus zu tun. Es wird nur ein Ereignis simuliert, damit dann entsprechende Funktionen die bei "onClick" usw. im HTML-Quelltext stehen aufgerufen werden.
    5) Was hast Du vor?

  • Hallo Stilgar,

    ich Versuche eine Art FF - Funktion zu basteln die mir ein MouseDown und ein MouseUp ausführt auf unterschiedlichen Objekten.

    Das ganze sollte dann ja wie ein ziehen eines Objektes auf ein anderes zu sehen sein eigentlich und auch so Funktionieren! Eben das ganze nur ohne Maus sondern nur per Objekten und deren Positionen.

    Cu Nathaniell

  • Ja eine Frage habe ich noch vergessen!

    1. Verstehe ich das Richtig, das durch deine FF - Befehle JavaScript erzeugt wird und dann diese erzeugten JavaScript Befehle an FireFox gesendet werden?
    2. Wie gelangen die erzeugten Befehle zu FireFox und werden dort ausgeführt!? Geschieht das über Mozrepl!?

    Cu Nathaniell

    Edit: Ups Schreibfehler

  • Drag und Drop ist damit nicht möglich, da nur die Events dafür ausgelöst werden. Der eigentliche Mausklick usw. wird dabei nicht simuliert.

    Genau. Die FF.au3 "übersetzt" die AutoIt-Befehle nach JavaScript und sendet dieses an FireFox.

    Die Befehle gelangen über MozRepl zu FireFox und dieser führt diese dann aus.

  • ohne die Details nachzuvollziehen, Drag und Drop geht .... vielleicht nicht immer ?!

    Spoiler anzeigen
    [autoit]


    HotKeySet( "^{a}", "a")

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    Sleep(200)
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func a()
    MouseDown("right") ; drückt und hält an aktueller Mouseposition die rechte Taste
    MouseMove(200,200) ; move nach 200,200
    MouseUp("right") ; läßt Taste los
    Exit
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit]
  • Es geht nicht um die AutoIt-Funktionen MouseDown/MouseUp sondern um die JavaScript-Events des gleichen Namens.