Tambien llamado optmización de procesos, esto es por ejemplo, el poder llenar formas de registro web automaticamente mediante un programa, para esto se necesita acceder a la página y establecer comunicación con el html.

Un problema asi surgio en el trabajo y se pidio que la solución fuera por medio de visual basic 6.0 . Este ejemplo que pongo solo muestra como llenar un input, seleccionar la opción de un combox y groupbox.

Yo creia que era muy complicado, pero lo unico que se necesita es saber el nombre de los tags de la página que necesitas usar.

Pasos:

IMPORTANTE: SI TIENES EL IE 7 NECESITAS DESINSTALARLO, SI NO TE MARCARA UNA ERROR EN LA DLL IEFRAME.DLL

1.-Lo primero que necesitamos es abrir un nuevo proyecto en visual basic, llamalo como quieras.

2.-Agregar el componente “Microsoft Internet Controls” haciendo clic derecho en la barra de heramientas izquierda como se muestra en la figura :

1.jpg

2.jpg

Una vez realizado este paso nos aparecera un pequeñp icono con la forma de un mundo, este es el web browser, hacemos clic en el y lo arrastramos a la hoja de trabajo, ademas insertaremos otros 2 botones como se muestra en la siguiente imagen:

3.jpg

En este momento tenemos un pequeño navegador, el siguiente paso es hacer doble click en el botón de “abrir página” y pondremos el siguiente código:

Private Sub Command1_Click()
WebBrowser1.Navigate “http:——————-/try_area.jsp”
End Sub

Obviamente yo tengo mi página alojada en un servidor, el código de mi html es el siguiente:

cod_html1.jpg

4.jpg

Ahora viene lo bueno ,el código para poder hacer “set” en los tags de html:

Probamos nuestra aplicación y al hacer clic en “Abrir página” el navegador deberá mostrarse como en la imagen

p1.jpg

Ahora vamos con el segundo botón, hacemos doble click en el y ponemos el siguiente código:

Set doc = WebBrowser1.Document

Set var_input = doc.getElementById(“nom”)
var_input.Value = “aumakua input”

Set var_radio = doc.getElementById(“ra_na”)
var_radio.Checked = “true”

Set var_select = doc.getElementById(“select”)
var_select.Value = “2″

Set var_but = doc.getElementById(“b_sutmit”)
var_but.Click

 

Lo que se hace con Set doc=webbrowser1.document es asignarle al objeto la página para poder manejarla, con los doc.getElementById se hace la busqueda de los campos que contengan ese nombre, pero como veran no hay “id” en el html por lo cual por fin una mamada de microsoft es utíl.

Como pueden ver solo se trata de saber los atributos de cada tag de html y mandarlo a llamar con su valor correspondiente.

Y ya por último solo mencionar el elemento “b_sutmit” , asi como se llama al input submit del html, con la opción “click” este hace el post.

El código fina se vería algo así:

6.jpg

Y ya funcionando se podrá ver asi:

7.jpg



12 Responses to “** Manejar Html con visual basic 6.0 **”  

  1. 1 Anonimo

    Hola. Tengo una pregunta, eso esta hecho bien ya lo sabia, pero si el parametro ID o parametro Name no esta presente como vas a usar controlElemendtId o hay otro como Getatribute?

    ejemplo, como ejecutarias submit boton asi:

    sin que tenga ID y parametro Name () lo que hace funcionar con “getElementById”? Gracias

  2. 2 Anonimo

    me refiero a siguiente codigo:

    input type=”submit” value=”Enviar”

    y eso es diferente a

    input type=”submit” name=”submit” value=”Enviar”

    entonces como le harias para ejecutar submit buton si parametro ID o Name digo el primer codigo?

  3. Gracias a que el ie6 no sigue estandares (por fin un puto bug es util) no hay problema si no tiene el ID del tag, con el simplemente nombre jala, yo me preguntaba lo mismo pero no hubo problema si lo jalaba solo por el name.

  4. 4 Anonimo

    Eso digo, si no tiene Name? La cosa es que jale sin ID y Name , digamos no hay ID y jala con Name, pero hay tags ke no tienen ni Name, ahi es el problema. Fijate en este codigo:

    input type=”submit” value=”Send”

    Pues fijate que no hay en tag parametro Name. Y de ahi es imposible jalar funcion getelementById, entonces me pregunto, en este caso, que es lo que deberia poner ,cuando no contiene Name el tag y directo va Value??

  5. Ni idea mi estimado no lo he probado asi, pero bueno que necesitas o intentas hacer?

  6. 6 Anonimo

    Pues te vale

  7. 7 RDORlando

    El método getElementById es adecuado para operar sobre un elemento en específico, sin embargo, en ocasiones se necesita trabajar sobre un grupo de elementos por lo que en este caso puede utilizarse el método getElementsByTagName. Este retorna todos los elementos de un mismo tipo. Devuelve una matriz de datos.

  8. 8 CesarTkgo69

    Amigo, no es necesario borrar el IE7.
    Te metes al registro de windows
    en Inicio > Ejecutar > regedit
    Y debes buscar en el registro:
    ieframe.dll\1
    Cuando lo encuentres dale doble click
    y borra: \1
    Solucionado

  9. Esa no me la sabia, gracias CesarTkgo69 y RDORlando!

  10. 10 ekud

    Amigo k informacion tan util no te imaginas cuanto te lo agradesco!!!!!!!!

  11. 11 ekud

    oye podrias ayudarme en algo….?

    bueno lo que pasa es ke en la web que quiero “automatizar” hay un campo que es el campo en el que se pone un codigo de verificacion para autenticar al usuario … mejor dicho el tag es este:

      31716

    y yo puedo acceder al tag sin ningun problema gracias a lo que explicaste, pero me preguntaba si era posible de algun modo acceder a este numero (31716) que esta justo despues del tag

    y pues no siendo mas solo me keda reiterarte de verdad mis agradecimientos!

    espero puedas colaborarme

  12. 12 ekud

    ahhh no me salio la linea del tag…. como le hago?


Leave a Reply