releer el contenido de la ventana del navegador web / esperar la entrada del usuario
En mi programa, quiero dar un valor a 2 campos de entrada dentro de una ventana del navegador web y luego esperar a que el usuario haga clic en un botón de inicio de sesión. Después de esto, quiero que el programa salga del ciclo cuando la pantalla contenga "¡Bienvenido!" (que contiene después de iniciar sesión).
Pero ahora el problema: cuando se establecen los valores para nombre de usuario y contraseña, el bucle de inicio se inicia instantáneamente. Entonces, incluso si hago clic en el botón de inicio de sesión, el bucle aún contiene el contenido de la página web antes de hacer clic en el botón y se repetirá para siempre.
¿Como puedo resolver esto? Pensé en dos formas hasta ahora:
Vuelva a leer el código html después de hacer clic en el botón para que aparezca "¡Bienvenido!" estará dentro del código y luego el bucle se romperá, oEspere a que el usuario presione el botón de inicio de sesión.Pero en ambos sentidos no tengo una idea real de cómo resolverlo.
WebBrowserWindow.WebBrowser1.Navigate("[...]")
Do
If WebBrowserWindow.WebBrowser1.ReadyState = WebBrowserReadyState.Complete Then
If WebBrowserWindow.WebBrowser1.Document.Body.InnerHtml.ToString.Contains("Login") Then Exit Do
End If
Application.DoEvents()
Loop
If WebBrowserWindow.WebBrowser1.Document.Body.InnerHtml.ToString.Contains("Login") Then
WebBrowserWindow.WebBrowser1.Document.Window.Frames(2).Document.GetElementById("username").SetAttribute("value", sUser)
WebBrowserWindow.WebBrowser1.Document.Window.Frames(2).Document.GetElementById("password").SetAttribute("value", sPass)
Application.DoEvents()
Dim DocumentCompletedHandler As WebBrowserDocumentCompletedEventHandler = Sub(dcsender As Object, dcargs As WebBrowserDocumentCompletedEventArgs)
If WebBrowserWindow.WebBrowser1.ReadyState = WebBrowserReadyState.Complete Then
RemoveHandler WebBrowserWindow.WebBrowser1.DocumentCompleted, DocumentCompletedHandler
'Put the code that should be executed when the user has logged in here.
MsgBox("it works")
End If
End Sub
AddHandler WebBrowserWindow.WebBrowser1.DocumentCompleted, DocumentCompletedHandler
End If
WebBrowserWindow.Close()
Me.Close()
Noté el problema cuando intenté poner el código html en un cuadro de mensaje. Solo contenía el código 'antiguo'.
Gracias por adelantado