Button nicht erreichbar?

  • Nachdem mir nun gelungen ist von IE auf FF umzusteigen, möchte ich meine (alten, einigermaßen laufenden) Scripts nun optimiern / stabilisieren.
    Ein Button soll angeklickt werden, aber statt SendKeys ist natürlich _FFClick viel sinnvoller.

    Allerdings: Es gelingt mir nicht, den Button anzusprechen.

    Laut FireBug ist er definiert mit:

    Code
    <div class="med_button_right" style="width:54px; float:right;">
    <input type="submit" tabindex="5" title="In das Forum einloggen" value="Login" name="Login">


    Aber mit

    [autoit]

    _FFClick("Login","name")

    [/autoit]


    hat der Klick einen anderen Effekt, geht auf irgend einen anderen Link.

    (Ich weiß gar nicht, welcher Link damit erreicht wird (die Hauptseite?) , obwohl die Console sagt:)

    Spoiler anzeigen

    __FFSend:
    try{FFau3.simulateEvent(FFau3.WCD.getElementsByName('Login')[0],'MouseEvents','click');}catch(e){'_FFCmd_Err';};
    __FFRecv: 1
    _FFLoadWait: ....... loaded in 1902ms


    und 10 andere Varianten (_FFClick("Login"); oder ID ; oder class ....), die ich versucht habe, haben gar keinen Effekt.

  • Danke, der Tipp klingt hilfreich, aber ich schaffs doch nicht.

    Ich weiß einfach nicht nach was ich suchen muss oder wie ich das Beispiel umbaue.
    Ich bekomme zwar irgendwie vernünftige Ergebnisse, (er findet "Login"), der Click öfnet aber die StartSeite.

    [autoit]

    _FFXpath("//Input[@type='submit']")

    [/autoit]


    (Mir scheint auch "input" hier nicht als sinnvoll, aber was sonst?)

    Nichts davon bringt mir das passendes Objekt:

    Code
    <input type="submit" tabindex="5" title="In das Forum einloggen" value="Login" name="Login">
      <div class="med_button_right" style="width:54px; float:right;">
  • Aber mit

    [autoit]

    _FFClick("Login","name")

    [/autoit]


    hat der Klick einen anderen Effekt, geht auf irgend einen anderen Link.

    wird wohl damit zusammen hängen dass Benutzer und/oder Passwort falsch sind oder fehlen.

    Am besten nennst du mal die WebSite, dnn nn man es selbst testen

    mfg autoBert

  • wird wohl damit zusammen hängen dass Benutzer und/oder Passwort falsch sind oder fehlen.

    Nein, Passwort und Benutzer sind definitiv richtig!

    Wenn ich an der Stelle ein Break machen, kann ich den Login-Link manuell anklicken und es funktioniert. Ist halt nicht der Sinn der Automation.
    Auch ein Sendkey funktioniert korrekt. Wenn ich die korrekte Anzahl von {Tab} vorschicke. Aber die Anzahl ist nicht immer identisch.

    Vermutlich kann ich den HTML-Code nicht korrekt lesen!?
    Oder anders gefragt: Wie finde ich raus, welche Felder / Buttons / images / ... es auf einer Seite gibt, und wie die genau heißen?
    Oder: Wie kann ich einen Link händisch starten, wenn der z.B. ein PHP-Script aufruft?

  • Um alle Elemente identifizieren, nimmt man FireBug.
    Aber das benutzt Du schon.

    Die Identifikation würde ich über die Div Class probieren: class="med_button_right"
    type="submit" erscheint mir sehr allgemein und ist eventuell im Code nicht eindeutig

  • Die Identifikation würde ich über die Div Class probieren: class="med_button_right"
    type="submit" erscheint mir sehr allgemein und ist eventuell im Code nicht eindeutig

    Tja schade. Div Class hab ich auch probiert.
    Funktioniert alles nicht.
    _FFClick("med_button_right","class") hat einfach gar keinen Effekt

    Mir sind nun noch 2 Details aufgefallen:
    1) Mein obiges Listing ist nicht ganz korrekt (Reihenfolge), hier der Originalauszug:
    (Mir ist schon klar, dass der 2. Button nichts damit zu tun hat.)

    Code
    <div class="med_button_right" style="width:54px; float:right;">
       <input type="submit" tabindex="5" title="In das Forum einloggen" value="Login" name="Login">
    </div>
    <div class="med_button" style="width:95px;">  	
       <input type="reset" onclick="zuruecksetzen();" tabindex="6" title="Eingabe zurücksetzen" value="Zurücksetzen">
    </div>


    2) Mit SendKeys("{enter}") wird der korrekte Link geöffnet, auch wenn ich auf (irgend)einem Inputfeld stehe
    Er scheint also als "default" definiert zu sein. Find ich vielleicht dort weiter?