Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

verificar si boton web existe control webrowser visual basic 2008

Estas en el tema de verificar si boton web existe control webrowser visual basic 2008 en el foro de Visual Basic clásico en Foros del Web. Hola necesito ayuda, estoy programando un Visual Basic 2008 utilizando el webrowser, lo que quiero hacer es que se cargue la pagina de google y ...
  #1 (permalink)  
Antiguo 25/04/2013, 21:35
 
Fecha de Ingreso: agosto-2012
Ubicación: Aragua
Mensajes: 25
Antigüedad: 7 años, 4 meses
Puntos: 0
Pregunta verificar si boton web existe control webrowser visual basic 2008

Hola necesito ayuda, estoy programando un Visual Basic 2008 utilizando el webrowser, lo que quiero hacer es que se cargue la pagina de google y se haga click en el boton de voy a tener suerte, pero con una condicional que se ejcute con un timer cada 1 segundo, de manera que si el boton no existe no se hace click en este. ¿De qué manera puedo hacer esto?. ¿Como puedo hacer que se verifique si el boton esta en la pagina antes de hacerle click, que comando puedo utilizar para verificar esto en el condicional?. Espero que me puedan ayudar, muchas gracias de ante mando.
  #2 (permalink)  
Antiguo 26/04/2013, 14:49
 
Fecha de Ingreso: enero-2008
Ubicación: Lima - Perú
Mensajes: 1.127
Antigüedad: 12 años
Puntos: 10
Respuesta: verificar si boton web existe control webrowser visual basic 2008

Si es espeficamente para google el cual tiene todo su codigo encapsulado creo q con javascript, lo unico que podrias hacer es posicionar el puntero del mouse en las coordenas x , y del webbrowser y lanzar una funcion que haga click, el problema seria que no te funciora en cualquier PC puesto que en todas se cambiaran las coordenas nose si me dejo enterder, pero si es para tu uso personal no tendras problema puesto que las coordenadas siempre seran las mismas en tu maquina, es bastante rustico esta forma pero soluciona lo que quieres.

Este codigo te posiciona el puntero en las coordenas x=100 y=100 de tu formulario pero esta en vb6.0, puedes ir por partes, si haces que te funcione en vb2008 luego vemos lo de el clickeo.
Logicamente tienes que colocar un webrowser y ver mas o menos las coordenas del boton que quieres

Código vb:
Ver original
  1. Private Type RECT
  2.     Left As Long
  3.     Top As Long
  4.     Right As Long
  5.     Bottom As Long
  6. End Type
  7. Private Declare Function SetCursorPos Lib "user32" (ByVal X As Long, ByVal Y As Long) As Long
  8. Private Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long
  9.  
  10. Private Sub Command1_Click()
  11. Dim rc As RECT
  12. GetWindowRect Me.hwnd, rc
  13. SetCursorPos rc.Left + 100, rc.Top + 100
  14. End Sub
__________________
123.http://bunker.host22.com
  #3 (permalink)  
Antiguo 26/04/2013, 19:26
 
Fecha de Ingreso: agosto-2012
Ubicación: Aragua
Mensajes: 25
Antigüedad: 7 años, 4 meses
Puntos: 0
Respuesta: verificar si boton web existe control webrowser visual basic 2008

Gracias por responder, verdaderamente soy nuevo en esto de programacion en visual basic, el problema no es el hacer click, con este codigo lo he logrado:
Cita:
WebBrowser1.Document.All("btnI").InvokeMember("cli ck")
Pero estoy usando a google por ejemplo, lo que quiero es automatizar el proceso en una pagina como esas de anuncios ejemplo: adfly, donde hay que esperar que termine un conteo para que aparezca un boton, lo que quiero es con un timer, cada vez que pase un segundo se ejecute un condicional, donde si el boton se encuentra disponible se le haga click, pero si no se espera otro segundo para repetir el condicional y así sucesivamente. Gracias.
  #4 (permalink)  
Antiguo 26/04/2013, 21:12
 
Fecha de Ingreso: enero-2008
Ubicación: Lima - Perú
Mensajes: 1.127
Antigüedad: 12 años
Puntos: 10
Respuesta: verificar si boton web existe control webrowser visual basic 2008

Bueno, pues generalemte ese tipo de paginas utiliza javascript y tiene todo encapsulado.
Fijate en el codigo de la pagina si la etiqueta <a></a> tiene un id, si lo tiene entonces se podria hacer algo, caso contrario solo se podria como te dije anteriormente.

Me refiero a esto <a href="http://tupagina.com" id="P1">Artículo de enlaces</a>, si tiene un id entonces es mas facil caso contrario no habria forma de saber a que elemento hacerle click pues no habria nada para identificarlo
__________________
123.http://bunker.host22.com
  #5 (permalink)  
Antiguo 26/04/2013, 23:51
 
Fecha de Ingreso: agosto-2012
Ubicación: Aragua
Mensajes: 25
Antigüedad: 7 años, 4 meses
Puntos: 0
Respuesta: verificar si boton web existe control webrowser visual basic 2008

Si en la pagina con la que quiero trabajar el boton que aparece despues de unos segundos tiene un id, no tengo problema en hacerle click, mi duda es como hacer para indicar a visual basic si ese boton ya ha aparecido en la pagina para poder darle click. Graciaas
  #6 (permalink)  
Antiguo 28/04/2013, 15:20
 
Fecha de Ingreso: enero-2008
Ubicación: Lima - Perú
Mensajes: 1.127
Antigüedad: 12 años
Puntos: 10
Respuesta: verificar si boton web existe control webrowser visual basic 2008

Para el caso de vb6 debes agregar la referencia Microsoft HTML object library

En el siguiente codigo hace click desde un boton a la etiqueta <a> con el id=HQ
Código vb:
Ver original
  1. Option Explicit
  2. Dim HTML As HTMLDocument
  3.  
  4. Private Sub Command1_Click()
  5.  
  6. WebBrowser1.Document.getElementById("HQ").Click
  7.  
  8. End Sub

Ahora modificando un poco y haciendo algo rustico se puede hacer asi
Código vb:
Ver original
  1. Private Sub Command1_Click()
  2.  
  3. On Error GoTo Err
  4. Dim x As String
  5.  
  6. x = WebBrowser1.Document.getElementById("HQ")
  7.  
  8. If Not x = "" Then
  9.    MsgBox "Existe"
  10. End If
  11. Exit Sub
  12. Err:
  13. MsgBox "No existe" 'Si se produce un error quiere decir que no existe
  14.  
  15. End Sub

Bueno nose que mas aportar, en todo caso seria bueno que cuando soluciones coloques el codigo en vb2008
__________________
123.http://bunker.host22.com

Etiquetas: basic, condicional, verificar, visual
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 01:54.