Realizar función al hacer click en un input button de un WebBrowser?

Iniciado por z3nth10n, 12 Junio 2013, 18:09 PM

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

z3nth10n

Muy buenas, esto es posible de realizar? :huh:

Un saludo.




Tengo este code, pero no se como hacer que funcione, es más ni se si va a hacer algo :silbar:

Código (vbnet) [Seleccionar]
WebBrowser1.Document.GetElementById("login-submit").InvokeMember("click")

Interesados hablad por Discord.

XresH

Se puede si, a través de un For recorre todos los forms y botones de una Web.

Ya sea desde el Webbrowser o de la manera que conectes con ella.

Te recomiendo realizarlo y verificando el valor "Type" (creo que asi es)

Para que te devuelva el Texto o bien el Valor del botón que queres presionar.

Y cuando encuentres el indicado le haces hacer clic pero sin buscar ya que antes realizas un If que si es positivo realiza el clic a dicho objeto.


Saludos.
[ - Si eres programador y quieres que tus proyectos esten en mi blog(con o sin source), consúltame! - ]
Entra A Mi Blog De Programación | | Dudas en este post :| | >>Clic para ir al Post<<

z3nth10n

Podría hacer un

Código (vbnet) [Seleccionar]
If WebBrowser1.Document.GetElementById("login-submit").InvokeMember("click") Then

'code

End If


Gracias! ;D

Interesados hablad por Discord.

XresH

Estoy en el trabajo y me ratie para entrar acá  :xD

No tengo nada instalado pero creo que es algo así:


Dim i As Integer
Dim x As Integer
For x = 0 To 2
    For i = 0 To WebBrowser1.Document.Forms(x).length - 1
        If WebBrowser1.Document.Forms(x)(i).Type = "submit" Then 'submit en general sn los botones xd
           If WebBrowser1.Document.Forms(x)(i).Value = "Ver más" Then 'el texto que contiene
              WebBrowser1.Document.Forms(x)(i).Click() 'si es el que queremos hacemos clic
              Exit Sub
           End If
        End If
    Next i
Next x
End Sub



Es algo que hice a la carrera no se si está bien (a la carrera quiero decir rapidito y con mucho disimulo si me ven se me arma :P)

Bássicamente recorre todos los formularios del WebBrowser y en cada uno de ellos los controles que tiene.

Acordate que tenes que agregar el componente COM desde elegir elementos en el cuadro de herramientas.

AxWebBrowser1 es el nombre del  objeto por defecto creo eso cambialo a tu gusto claro está.

Pienso que ando bien rumbeado probalo y me comentás.

Saludos.
[ - Si eres programador y quieres que tus proyectos esten en mi blog(con o sin source), consúltame! - ]
Entra A Mi Blog De Programación | | Dudas en este post :| | >>Clic para ir al Post<<

z3nth10n

Me da bastantes errores (solo 4)

A ver, simplemente quiero hacer que salte un msgbox cuando clickes en un boton...  :silbar:

Interesados hablad por Discord.

XresH

Cita de: Ikillnukes en 12 Junio 2013, 20:32 PM
Me da bastantes errores (solo 4)

A ver, simplemente quiero hacer que salte un msgbox cuando clickes en un boton...  :silbar:

Estás seguro que agregaste el componente correspondiente?

Si son 4 son las líneas en la que aparece el nombre del WebBrowser, de seguro te marca esas cuatro.

Revisa bien el post y fijate de que esté todo como te indiqué.

Elegir elementos-->Componentes Com --> Web browser

La referencia en base a la ieframe.dll (creo :P)

Saludos.
[ - Si eres programador y quieres que tus proyectos esten en mi blog(con o sin source), consúltame! - ]
Entra A Mi Blog De Programación | | Dudas en este post :| | >>Clic para ir al Post<<

z3nth10n

Ehm te refieres a que si metí un webbrowser? A tanto (a tan tonto :laugh:) no llego XD

Interesados hablad por Discord.

XresH

Hay 2 webbrowser, yo te digo que uses el que es mas fácil de utilizar.

Con que esté agregado no quiere decir que sea el mismo, ya chekie el code y tiene que trabajarte sin error :D

Si quieres crear un msgbox luego del code del clic coloca:




Msgbox("assdasdsad")


No digo que seas tonto, hay cosas que hay que decir porque no todos pensamos igual, calculo también que ese code lo colocaste en un boton de comando por ejemplo y que cargaste el Webbrowser con alguna Web a través de la propiedad Navigate y luego presionaste el botón con el code que te pasé.

Saludos.
[ - Si eres programador y quieres que tus proyectos esten en mi blog(con o sin source), consúltame! - ]
Entra A Mi Blog De Programación | | Dudas en este post :| | >>Clic para ir al Post<<

z3nth10n

Ehm pues no me entero xD

A ver he añadido "2 webbrowsers" y luego...

He puesto tu code, pero me sale esto



Un saludo jefe. :rolleyes:

Interesados hablad por Discord.

Eleкtro

#9
@IKillNukes
Está claro que con los eventos del WebBrowser no vas a poder, porque no existen eventos para eso, tienes que hacerlo con los eventos del documento, el cual tiene un evento llamado CLICK y sirve para eso...

...Aquí está todo lo que necesitas saber: http://pradeep1210.wordpress.com/2010/03/19/easy-way-to-add-keyboard-and-mouse-events-to-webbrowser-control/

Te pasaría un código de ejemplo, pero te reto a que lo hagas por ti mismo, tienes que handlear el evento click del documento a un sub, y en ese sub lo que debes hacer es comprobar el tipo de elemento que se ha clickado, si es un botón pues lanzas un msgbox.

EDITO: Postea si quieres más tarde el código que lleves hecho al respecto para poder ayudarte.

Saludos!