Warten Bis WebBrowser Laden? (VB 2010)
Ich habe gesucht und gesucht-code und alles was ich versucht habe funktioniert nicht.
Im Prinzip brauche ich den WebBrowser vollständig zu laden, bevor Sie einen test-code...
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
WebBrowser1.Document.GetElementById("login").SetAttribute("value", TextBox1.Text)
WebBrowser1.Document.GetElementById("passwd").SetAttribute("value", TextBox2.Text)
WebBrowser1.Document.GetElementById("SI").InvokeMember("Click")
Where I need to insert the WaitForPageLoad()
RichTextBox1.Text = WebBrowser1.DocumentText
If InStr(RichTextBox1.Text, "To continue, create an Xbox profile") Then
MsgBox("You do not have an xbox account associated with this gamertag, please log into xbox.com with the account then create an xbox profile.")
Else
MsgBox("nothing")
End If
Wie Sie sehen können ich habe versucht, verwenden Sie ein Skript, um mich anmelden Xbox.com und es funktioniert, aber nur ein bisschen. Der Prozess dieser code ist ZU schnell, es ist nicht die überprüfung der Recht-source-code für die Zeichenfolge zu sagen "weiter...", im Grunde
WebBrowser1.Document.GetElementById("login").SetAttribute("value", TextBox1.Text)
WebBrowser1.Document.GetElementById("passwd").SetAttribute("value", TextBox2.Text)
WebBrowser1.Document.GetElementById("SI").InvokeMember("Click")
Nach, die klicken, klickt Er auf die Schaltfläche, funktioniert der log-in Prozess, aber es hat zu laden von einer ganz neuen Seite, das problem mit diesem ist, dass es führt die nächste Zeile des Codes viel zu schnell und die nächste Codezeile sucht nach diesem string in den falschen source code. Ich muss es WARTEN, bis die Seite zu laden, dann laufen diese Zeile
RichTextBox1.Text = WebBrowser1.DocumentText
Welche Kopien des Quellcodes des webbrowser auf eine textbox, die dann gesucht wird nach der Zeichenfolge. Ich habe alles versucht. Ich fühle mich wie WaitForPageLoad() funktionieren würde, toll, aber ich bekomme eine Fehlermeldung sagte mir, dass es nicht deklariert. Kann mir jemand helfen?
- wenn ich Ihre Frage zu verstehen, und im nicht sicher, ich tun, ich denke, Sie sind auf der Suche für den webbrowser.DocumentCompleted-Ereignis. Sie wollen einfach nur, um zu bewegen, Ihren code, um das Rückruf-Ereignis, und es wird ausgeführt werden, wie Sie Ihr Dokument vollständig geladen ist. sich bewusst sein, es kann mehrfach ausgelöst, wenn andere Dokumente geladen werden, die von Ihrer web-Seite.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollte dieser code helfen.
Definieren Sie eine Globale variable namens vollständig und legen Sie es auf false
Nun in Ihrem web-browser ein Dokument vollständig fügen Sie diesen code in
Nun waren Sie warten wollen, bis Sie Ihren web-browser geladen wurde, die Seite
Alle zusammen, Sie sollten so etwas
Müssen Sie die
DocumentCompleted Event Handler
- und trigger-beliebigen code aus der entsprechenden Methode. Das heißt:- - - - - UPDATE GANZE WEBBROWSER
Wenn Sie öffnen Sie ein neues Projekt und fügen Sie diesen code (und fügen Sie den
TextBoxes
/RichTextBox
zu Ihrer form), würde es ohne Probleme funktionieren: