Solucionar Error NullReferenceException en VB.Net 2010

Iniciado por okik, 6 Marzo 2015, 16:52 PM

0 Miembros y 1 Visitante están viendo este tema.

okik

Hola,

Se trata de un código para loggear. Rellena de forma automático al login de una página.

Código (vbnet) [Seleccionar]
Dim theElementCollection As HtmlElementCollection = WebBrowser1.Document.GetElementsByTagName("Input")
           For Each curElement As HtmlElement In theElementCollection
               Dim controlName As String = curElement.GetAttribute("id").ToString
               If controlName = idUser Then
                   curElement.SetAttribute("Value", UserName)
               End If
           Next



El error se produce en ("Input").y es "NullReferenceException"---> "Referencia a objeto no establecida como instancia de objeto"

Si coloco el código en el evento WebBrowser1_DocumentCompleted entonces no se produce ningún error pero me interesa introducirlo en un evento Click de un botón.


Nota:

idUser  es una variable string con el id del control de la página donde hay que introducir el nombre de usuario

UserName es una variable string para el nombre del usuario


okik

Ya se porqué se produce el error:

Porque primer tiene que estar cargada la página. Como no encuentra la colección de controles se produce un error.

Pare evitar el error puede ponerse la condición:
Código (vbnet) [Seleccionar]
If (WebBrowser1.Document IsNot Nothing) Then
...
end if


Y por supuesto esperar a que cargue la página.