Web Formular ausfüllen Anmeldebutton klappt nicht

  • VB.NET

Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von HDebus.

    Web Formular ausfüllen Anmeldebutton klappt nicht

    Hallo,

    ich versuche mich an meinem Router anzumelden, und das WebFormular der FritzBox 7490 auszufüllen

    Das mit dem PW klappt auch, aber wenn ich den Botton Anmelden klicken will, geht das nicht. Es passiert nichts! :=(

    Hier mein Code, das Füllen des PW geht auf jeden Fall.

    VB.NET-Quellcode

    1. WebBrowser1.Document.GetElementById("uiPass").InnerText = "Password"
    2. WebBrowser1.Document.Forms(0).InvokeMember("submit")


    Der HTML code für den Button sieht wie folgt aus

    HTML-Quellcode

    1. '<button tabindex="3" class="" name="" id="submitLoginBtn" type="submit">Anmelden</button>




    was mache ich hier falsch

    Danke
    Holger


    Hey,

    wie kann ich nun feststellen, wann die Seite nach dem Login geladen ist, damit ich den nächsten Click machen kann

    Holger



    Habe nun folgende Lösung gewählt, damit die Form weiter läuft

    VB.NET-Quellcode

    1. Imports System.Threading
    2. Private WeiterGehts As Boolean = False
    3. Private ms As Integer
    4. Public Sub Wartezeit(ByVal Sekunden As Integer)
    5. ms = Sekunden * 1000
    6. WeiterGehts = False
    7. Dim T As Thread = New Thread(AddressOf Warten)
    8. T.Start()
    9. Do
    10. Application.DoEvents()
    11. Loop Until WeiterGehts = True
    12. End Sub
    13. Private Sub Warten()
    14. Thread.Sleep(ms)
    15. WeiterGehts = True
    16. End Sub



    Und nach dem Einloggen dann
    Wartezeit(4) oder einen andere Sekundenzahl

    und schon läuft es.

    Wenn jemand noch was eleganteres hat gerne :=))))

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „HDebus“ ()

    In VB.Net sollte man immer mit Events arbeiten.

    Indem Fall wäre es das Documentcompleted Event. Das wird ausgelöst sobald die Seite vollstämdig geladen ist.
    msdn.microsoft.com/de-de/libra…tcompleted(v=vs.110).aspx

    Lg Mokki
    ​Smartnotr - ein intelligentes Notizprogramm
    zum Thread

    Hey,

    das habe ich wie folgt versucht. aber es klappte halt nicht

    Declaration:

    VB.NET-Quellcode

    1. Private bLoaded As Boolean = False


    Laden des Webformulares und füllen:

    VB.NET-Quellcode

    1. Private Sub cmdAnzeige_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdAnzeige.Click
    2. ' Anmelde-Seite laden
    3. bLoaded = False
    4. If Me.cmbURL.Text = "" Then Exit Sub
    5. WebBrowser1.Navigate(Me.cmbURL.Text)
    6. ' Warten, bis Webseite vollständig geladen wurde
    7. Do While Not bLoaded
    8. System.Windows.Forms.Application.DoEvents()
    9. Loop
    10. WebBrowser1.Document.GetElementById("uiPass").InnerText = "Password"
    11. 'WebBrowser1.Document.Forms(0).InvokeMember("click")
    12. WebBrowser1.Document.GetElementById("submitLoginBtn").InvokeMember("click")


    Nun sollte es weitergehen, aber hier klappt das halt nicht

    Was mache ich dann falsch

    VB.NET-Quellcode

    1. bLoaded = False
    2. ' Warten, bis Webseite vollständig geladen wurde
    3. Do While Not bLoaded
    4. System.Windows.Forms.Application.DoEvents()
    5. Loop



    Es sollte folgendes ausgeführt werden, aber da die Seite noch nicht geladen ist, kann ich den Link nicht "anklicken"

    VB.NET-Quellcode

    1. WebBrowser1.Document.Links(2).InvokeMember("click") 'Online-Monitor


    Holger
    Hallo Mokki,

    aber wo bau ich das dann wie ein??

    Ich steh da wohl auf dem Schlauch.

    Ich baue das doch nach dem Click event ein. Und dann soll er warten, bis die nächste Seite geladen ist und dann erst den zweiten klick ausführen.

    Wo, und wie??

    Danke
    Holger
    Danke,

    versuche es aber wenn es nicht klappt schreib ich Dir .

    Holger




    Hallo Mokki,

    danke

    manchmal braucht man nur einen "Weckruf"

    Habe es hinbekommen, so wie du geschrieben hast ne extra Sub aus dem ersten Event, wo ich dann die Documentcompleted abwarte / frage

    Holger

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „HDebus“ ()