Evitar focus y sendKeys en un bot

Iniciado por EstefaniaQQ, 6 Mayo 2014, 00:01 AM

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

EstefaniaQQ

Hola,

Estoy actualizando un bot que tiene por función rellenar unos formularios y brindarme unos datos. Este funcionó muy bien hasta que la web desde donde obtenía los datos fue rediseñada.
Ahora me encuentro con el problema que no puedo rellenar los textbox si primero no realizo focus.

Ejemplo para que se entienda qué es lo que quiero decir:

Dim a as htmlElement = minavegador.document.getElementById("idTextBox")
a.focus()
a.innerText="datos"


Por otra parte, no puedo enviar el formulario utilizando invokeMember("click") sino que debo realizar focus sobre el botón y luego hacer un Sendkeys.send("{enter}")

El bot funciona bien pero el problema que tengo es que al tener que hacer focus no puedo utilizar mi computadora con otros programas.

Alguien puede darme alguna idea de cómo evitar el focus y el sendkey. Estoy muy perdida con el tema y no sé ni qué buscar.

PD: por si necesitan el dato el bot modificó el registro de Windows para que  el WebBrowser que se utilice sea el Explorer versión 9. Lo aclaro porque con el IE7 (el predeterminado de .NET) hay scripts que no funcionan.

Miseryk

Ésto parece más programación web, pero si lo hacés en VB te conviene obtener el handle de la ventana y luego obtener los otros controles con handleex.

Las funciones son FindWindow y FindWindowEx, luego te podés manejar con SendMessage.
Can you see it?
The worst is over
The monsters in my head are scared of love
Fallen people listen up! It's never too late to change our luck
So, don't let them steal your light
Don't let them break your stride
There is light on the other side
And you'll see all the raindrops falling behind
Make it out tonight
it's a revolution

CL!!!

EstefaniaQQ

gracias por la respuesta estoy investigando en el tema. Por el momento, puedo enviar texto a otras aplicaciones como por ejemplo, WordPad aunque no lo consigo con rellenar textbox en WebBrowsers.

Miseryk

Andá a lo seguro, usá el WinHack (hecho en VB6) que te permite saber el hwnd, class, nombre de ventana y muchas cosas más y lo hardcodeás (poner valores crudos) todo y luego cuando funcione lo hacés genérico.
Can you see it?
The worst is over
The monsters in my head are scared of love
Fallen people listen up! It's never too late to change our luck
So, don't let them steal your light
Don't let them break your stride
There is light on the other side
And you'll see all the raindrops falling behind
Make it out tonight
it's a revolution

CL!!!