Visual Basic Foro

Programación => Visual Basic .NET / C# => Mensaje iniciado por: E N T E R en Agosto 02, 2012, 04:58:51 pm

Título: Buscar imágenes con un WebBrowser
Publicado por: E N T E R en Agosto 02, 2012, 04:58:51 pm
Quiero buscar imágenes en google imágenes a través de lo que escribo en un caja de texto y mostrarlo.

Tengo este código pero no me hace click en el Boton de google, pero si escribe en la cajita el valor del Textbox1.


Código: (VB) [Seleccionar]
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        wbMain.Navigate("http://images.google.com")
    End Sub

    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click

        Dim txt As HtmlElement = wbMain.Document.GetElementById("q")
        Dim btn As HtmlElement = wbMain.Document.GetElementById("btnG")
        txt.SetAttribute("value", TextBox1.Text)
        btn.InvokeMember("click")

    End Sub

Lo raro es si yo le escribo manualmente en el buscador de la imagen y busco. Después hago click sobre el Button4_Click ahi si funciona.
Título: Re:Buscar imágenes con un WebBrowser
Publicado por: seba123neo en Agosto 02, 2012, 11:30:56 pm
eso funcionaba bien hasta hace poco, pero despues cuando google implemento las sugerencias (y te aparece ese listado abajo), parece que dejo de funcionar, es un problema del foco me parece, es como que despues de escribir las palabras, se activan las sugerencias y no le da bola al click del boton, igualmente llamando directamente al metodo "Submit" funciona bien, y es lo mismo que llamar al boton, ya que este ejecuta este metodo.

Código: (vbnet) [Seleccionar]
Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        wbMain.Navigate("http://images.google.com")
    End Sub

    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        wbMain.Document.GetElementById("q").InnerText = TextBox1.Text
        wbMain.Document.Forms(0).InvokeMember("Submit")
    End Sub
End Class

saludos.
Título: Re:Buscar imágenes con un WebBrowser
Publicado por: E N T E R en Agosto 03, 2012, 12:01:24 am
Perfecto Seba, también encontré esta solución que funciona de 10s.

Código: (VB) [Seleccionar]
Public Class Form1

    Dim automate As Boolean

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        wbMain.Navigate("http://images.google.com")
    End Sub

    Private Sub wbMain_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles wbMain.DocumentCompleted
        If automate = True Then automate = False Else Exit Sub
        Dim txt As HtmlElement = wbMain.Document.GetElementById("q")
        Dim btn As HtmlElement = wbMain.Document.GetElementById("btnG")
        txt.SetAttribute("value", TextBox1.Text)
        btn.InvokeMember("click")
    End Sub

End Class


Gracias por responder Seba...