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
-
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.
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.
-
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.
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.
-
Perfecto Seba, también encontré esta solución que funciona de 10s.
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...