WebBrowser navigieren testen

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von Trade.

    WebBrowser navigieren testen

    VB.NET-Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. WebBrowser1.Document.GetElementById("username").SetAttribute("value", TextBox1.Text)
    3. WebBrowser1.Document.GetElementById("password").SetAttribute("value", TextBox2.Text)
    4. WebBrowser1.Document.GetElementById("signin").InvokeMember("click")



    Ab jetzt will ich testen ob der WebBrowser zu einer anderen Seite navigiert (erfolgreich einloggen) oder auf der Seite bleibt (nicht erfolgreich einloggen).
    Bei beiden Möglichkeiten soll eine Aktion ausgeführt werden. Sagen wir eine MessageBox. Einmal mit Text JA und einmal mit Text NEIN.

    Ich habs schon vieles ausprobiert aber es will nicht funkionieren. :(
    Hmpf, aber was geht denn jetzt nicht und was sollen wir machen?!
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Also hiernach soll der geprüft werden ob der Browser auf eine andere WebSeite navigiert oder auf der gleichen bleibt und wenn die neue Seite fertig geladen ist soll eine MessageBox erscheinen. Ich weiß aber nicht wie man das DocumentCompleted Ereignis richtig anwendet.
    Hmpf, Event abonnieren und Code reinschreiben.
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Aber da kommt ein weiteres Problem.

    VB.NET-Quellcode

    1. Private Sub WebBrowser1_DocumentCompleted(sender As Object, e As WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
    2. End Sub


    Wenn ich hier jetzt z.B. reinschreibe das es eine MsgBox erscheinen lassen soll kommt sie direkt zum Start des Programmes weil die Form am Start eine Seite lädt.

    Der Code sollte ungefähr so lauten.

    VB.NET-Quellcode

    1. If WebBrowser1.Url.AbsoluteUri = "http://www.text.de" Then
    2. MsgBox("Erfolgreich eingeloggt")
    3. Else
    4. MsgBox("Falsches Passwort oder Benutzername")
    5. End If
    Dann mach Dir ne Flag-Variable, die Du nach dem Start setzt.
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Das ist einfach eine Boolean-Variable, die beim Start 'False' ist. Den ganzen Code unten musst Du dann halt in eine If-Abfrage setzen und nur ausführen, wenn die Variable 'True' ist. Folglich, wenn diese anfangs 'False' ist, kannst Du direkt ne Seite laden, ohne, dass ne Meldung kommt.
    Danach setzt Du sie auf 'True'.
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Ich wüsste nicht wie, hab ich ja schon. Globale Variable definieren und die dann setzen und im Eventhandler vorher abfragen.
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!: