ff.au3

  • Die neue Beta der FF.au3 funktioniert nun auch bei mir..
    ich habe eine frage ob es damit möglich ist einen Button zu drücken auf dem einloggen steht..ich möchte ein programm machen das mich einloggt und dann auf weiter klickt..

    bis jetzt habe ich nur sehr wenig...

    Spoiler anzeigen
    [autoit]

    #include <FF.au3>

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

    $Socket = _FFStart("http://dasdeutschlandspiel.de/")

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

    _FFLoadWait($Socket)

    [/autoit]

    kann mir jemand weiterhelfen?

  • Erst mal _FFLoadWait kann weg fallen, das übernimmt _FFStart schon ...

    Theoretisch sollte es folgendermaßen funktionieren:

    [autoit]


    #include <FF.au3>

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

    $Socket = _FFStart("http://dasdeutschlandspiel.de/")
    _FFSetValueByName($Socket, "player", "DeinSpielername")
    _FFSetValueByName($Socket, "password", "DeinPasswort")
    _FFFormSubmit($Socket)

    [/autoit]

    Habe aber gerade festgestellt, daß FireFox sich plötzlich über submit() für Forms beschwert - muß ich nochmal überarbeiten ...

    [EDIT]
    Statt _FFFormSubmit funktioniert in diesem Fall:

    [autoit]

    _FFSetGet($Socket,"content.document.forms[0].elements[2].click()")

    [/autoit]


    aber frag mich nicht warum :D

    [EDIT2]
    Komisch _FFFormSubmit funktioniert auf anderen Seiten einwandfrei ... da werde ich mich mal heute Abend eingehender mit dem DOM-Inspektor "vergnügen", also das Script sieht dann am Ende so aus:

    [autoit]


    #include <FF.au3>

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

    $Socket = _FFStart("http://dasdeutschlandspiel.de/")
    _FFSetValueByName($Socket, "player", "DeinSpielername")
    _FFSetValueByName($Socket, "password", "DeinPasswort")
    _FFSetGet($Socket,"content.document.forms[0].elements[2].click()")

    [/autoit]

    Grüße
    Stilgar

    2 Mal editiert, zuletzt von Stilgar (27. Mai 2008 um 15:36)

  • Jetzt weis ich warum das nicht funktionieren kann.
    Dummerweise hat der Button den Namen "submit" bekommen. D.h. es wurde folgendes Objekt erzeugt:

    content.document.forms[0].submit

    und die Methode zum abschicken heißt normalerweise:

    content.document.forms[0].submit()

    der etwas dümmlich gewählte Name "überschreibt" also die Methode und schon läßt sich das Formular per JavaScript nicht mehr "normal" absenden :whistling:

    Beschwerden bitte an "webmaster von Deutschlandspiel.de" :D

    Grüße
    Stilgar