Foros del Web » Programación para mayores de 30 ;) » .NET »

Rellenar un formulario de una página web con Visual Basic 2008

Estas en el tema de Rellenar un formulario de una página web con Visual Basic 2008 en el foro de .NET en Foros del Web. Hola veréis estoy intentando hacer un programa que rellene un formulario en una página web (proo.info) . Esta página tiene un solo campo de escritura ...
  #1 (permalink)  
Antiguo 28/04/2010, 11:49
 
Fecha de Ingreso: febrero-2010
Mensajes: 7
Antigüedad: 8 años, 5 meses
Puntos: 0
Rellenar un formulario de una página web con Visual Basic 2008

Hola veréis estoy intentando hacer un programa que rellene un formulario en una página web (proo.info). Esta página tiene un solo campo de escritura llamado u y un botón que se llama Submit (lo sé gracias al código fuente). Tengo el código preparado, y el programa hace lo siguiente:

- Navega con un webbrowser a proo.info (la página que he puesto antes).
- Rellena el campo de escritura de la página con los datos de un textbox.
- Y aquí viene el error, no consigo que el programa pulse el botón de submit.

El código que estoy usando es el siguiente:

Código:
Public Class Form1
     
     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
         
    WebBrowser1.Navigate("proo.info")

     End Sub

     Private Sub WebBrowser1_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles 

    WebBrowser1.DocumentCompleted
    WebBrowser1.Document.GetElementById("u").InnerText = (TextBox.Text)       
    WebBrowser1.Document.GetElementById("submit").InvokeMember("click")     

    End Sub
    End Class
  #2 (permalink)  
Antiguo 29/04/2010, 08:31
Avatar de gedarufi  
Fecha de Ingreso: diciembre-2008
Ubicación: Colombia
Mensajes: 540
Antigüedad: 9 años, 7 meses
Puntos: 22
Respuesta: Rellenar un formulario de una página web con Visual Basic 2008

Lo que veo es que el botón no tiene la propiedad ID asignada, lo que se me ocurre es que utilices la propiedad All del WebBrowser para obtener el Elemento de forma "manual", aqui te dejo un par de enlaces.

http://msdn.microsoft.com/es-es/libr...(v=VS.80).aspx

http://msdn.microsoft.com/es-es/libr...(v=VS.80).aspx

Nos cuentas como te fue

Saludos
  #3 (permalink)  
Antiguo 29/04/2010, 10:03
 
Fecha de Ingreso: febrero-2010
Mensajes: 7
Antigüedad: 8 años, 5 meses
Puntos: 0
Respuesta: Rellenar un formulario de una página web con Visual Basic 2008

Bueno, gedarufi, antes de nada decirte que soy novato en programación.
No sé si estará bien, pero esto es lo que he hecho:

He copiado el código que venía en el segundo enlace. La declaración y el uso están cada uno en su sitio, pero el código está tal cual viene en la página, y cuando pruebo mi programa hace lo mismo que hacía antes (rellenar el campo de escritura y ya está), y además ahora abre una ventana de Internet Explorer (abierta en mi página principal).

Si pudieras ayudarme un poco más, por favor.
Gracias
  #4 (permalink)  
Antiguo 29/04/2010, 12:13
Avatar de gedarufi  
Fecha de Ingreso: diciembre-2008
Ubicación: Colombia
Mensajes: 540
Antigüedad: 9 años, 7 meses
Puntos: 22
Respuesta: Rellenar un formulario de una página web con Visual Basic 2008

Yo lo haria de esta forma
Código C#:
Ver original
  1. void webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
  2.         {
  3.             this.webBrowser1.DocumentCompleted -= new WebBrowserDocumentCompletedEventHandler(webBrowser_DocumentCompleted);
  4.  
  5.             this.webBrowser1.Document.GetElementById("u").InnerText = "Ensayo";
  6.  
  7.             for (int i = 0; i < this.webBrowser1.Document.All.Count; i++)
  8.             {
  9.                 if (this.webBrowser1.Document.All[i].GetAttribute("Value") == "Go!")
  10.                 {
  11.                     this.webBrowser1.Document.All[i].InvokeMember("click");
  12.                 }
  13.             }
  14.         }

this.webBrowser1.DocumentCompleted -= new WebBrowserDocumentCompletedEventHandler(webBrowser _DocumentCompleted);

Esta linea se encarga de que solo se ejecute el evento una sola vez, en el evento click lo puedes poner de nuevo asi

this.webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser _DocumentCompleted);

Para que quede de nuevo activo, espero que no sea impedimento para ti que el código este en C#, nos cuentas como te fue.

Saludos

Etiquetas: basic, rellenar, visual, webbrowser, formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:10.