Script liest Input Text nicht

  • Hallo Leute !
    Erstmal muss ich sagen das ich mich mit AutoIt erst seit einigen Tagen beschäftige. Es macht mir einen heiden Spaß kleine automatisierungs Programme zu schreiben.
    Nun ergibt sich folgendes Problem :
    Ich möchte ein Script , das nach einem Programmabsturtz dieses wieder öffnet und sich erneut einloggt . ( In meinem Fall Firefox , da ich ein Browsergame spiele bei dem das Fenster offen sein muss damit Rohstoffe abgebaut werden. --> Will mir also keinen Vorteil verschaffen,da dies automatisch geschieht wenn das Fenster offen ist.)

    Was ich machen will sind 6 Inputboxen für ID & PW , sowie für die Koordinaten der ID und PW boxen auf der Seite.Jedoch kann ich in die Boxen schreiben was ich will , es passiert nix.
    Hier mein bisheriges Ergebnis :

    Wiegesagt , ich habe noch nicht so viel Erfahrung mit AutoIt . Bitte nicht gleich köpfen wenn ich einen dummen Fehler übersehen habe.


    Mfg Doug :)

    • Offizieller Beitrag

    Was ich machen will sind 6 Inputboxen für ID & PW , sowie für die Koordinaten der ID und PW boxen auf der Seite.


    Ein reines LogIn-Script mit Firefox - schau dir dazu mal die FF.au3 an (such im Forum, ist nicht Bestandteil von AutoIt). Denn über Desktopkoordinaten auf Felder zugreifen zu wollen ist zu ungenau und auch gar nicht notwendig.

    • Offizieller Beitrag

    Mal davon angesehen das ich BugFix zustimme, kommt dein Problem daher, das du die Inputs an der falschen Stelle ausließt.

    Der Teil

    [autoit]

    $a = GUICtrlRead ($ID)
    $b = GUICtrlRead ($PW)
    $c = GUICtrlRead ($i1)
    $d = GUICtrlRead ($i2)
    $e = GUICtrlRead ($p1)
    $f = GUICtrlRead ($p2)

    [/autoit]


    sollte innerhalb der Funktion Start stehen. Bis jetzt liest du die Inputs aus befor du die GUI mit GUISetState initialisiert hast. Somit ist jede Variable = 0 oder "" :whistling:

  • Ok vielen dank !
    Jetzt ergibt sich noch ein Problem !! Der Close Button funktioniert zwar , jedoch nicht wenn ich davor auf Start gedrückt habe . Wie könnte ich dieses Problem beheben ??

    • Offizieller Beitrag

    Dein Script ist nicht die beste Lösung wie BugFix schon sagte. In deiner Funktion Start schläft dein Script alleine 66 Sekunden durch deine Sleep`s.
    Während ein Sleep ausgefüht wird, regiert dein Script auf nichts, es schläft. WinWaitClose macht auch nichts ausser warten.
    Eine Lösung wäre es dein Script im OnEventMode laufen zu lassen. Dabei würde das Scipt zwar auf den Close Button reagieren, aber erst nach dem ausführen der Funktion Start.

    Edit: Du benutzt ja schon den OnEventMode, hab ich ganz übersehen.

  • Hallo 'Doug_E_Fresh,


    herzlich willkommen im Forum und viel Spass mit AutoIt.

    Hier kannst du dir die Hilfe herunterladen.
    Hier gibt es ein AutoIt-Tutorial: http://wiki.autoit.de/wiki/index.php/TutorialSehr hilfreich ist auch das Buch von peethebee

    Du kannst nicht MsgLoop-Modus und OnEvent-Modus gleichzeitig benutzen. Erarbeite dir die Grundlagen und beherzige den Ratschlag von BugFix stelle das ganze entweder auf die FF.au3 (für FireFox) oder auf die IE,au3 (für InternetExplorer) um, anstatt mit unsicheren Mausschubsaktionen zu arbeiten,

    mfg autoBert

    Einmal editiert, zuletzt von autoBert (6. September 2010 um 15:52) aus folgendem Grund: TAG's korrigiert