Llenar formulario web desde Excel – TagName

Hola a todos mis seguidores! El día de hoy veremos cómo llenar formulario web desde Excel

Pertenezco a varios grupos de Facebook, y en uno de ellos hicieron una consulta sobre cómo completar información en un formulario web

Este usuario quería realizar un login en la web //web.zurichseguros.com.co/zcc-web-app/login, pero usando la conexión ‘normal’ con id o name no podía

Formulario web excel vba

Es decir utilizando a getElementById, getElementsByName o getElementsByClassName el usuario no podía acceder a los elementos

Y veamos por qué con el inspeccionador de elementos

Formulario inspeccionar elementos excel

Como podemos visualizar, el lugar en donde debemos ingresar la información no tiene elementos id ni name

Sólo tiene elementos class, pero por la estructura que tiene no nos ayuda

Entonces cómo podremos llenar un formulario web desde Excel, en este tipo de casos?

La respuesta es utilizando al elemento getElementsByTagName

Muy bien! Explicaré cómo realizar el llenado para el login en 3 sencillos pasos

Paso #1 – Código base de conexión VBA para conectarse a una web

Primero debemos crear el código base de conexión a internet desde Excel VBA

En este caso ya estoy asignando al Navigate la web de destino

Sólo por ser un ejemplo he asignado el valor True a IE.Visible

Paso #2 – Obtener el identificador que necesitamos desde la web

Muy bien en este paso debemos obtener el identificador necesario para que nuestro código funcione bien

Clic sobre el elemento en donde completaremos información y luego inspeccionar elemento

Formulario web desde excel
Excel VBA Internet getElementsByTagName

Debemos completar información en los dos input resaltados de amarillo

Desde Excel usaremos el métodogetElementsByTagName

El método getElementsByTagName nos permitirá interactuar con elementos que tengan el mismo nombre de etiqueta (En este caso input)

Pero tú me preguntarás en la página web que deseo llenar existen varios elementos input, cómo sabré cuál llenar?

Lo debemos completar por posición en el documento

Obtener la posición de la etiqueta en el formulario web

Lo primero que debemos hacer es obtener el código HTML de la página web

código HTML de la web VBA

En este caso obtenemos la siguiente vista

Codigo HTML VBA web scrap

En este caso no hemos obtenido el código que necesitamos (No encontramos ningún input)

Entonces debemos obtener el código de otra forma, lo haremos con inspeccionar elemento

Y daremos click derecho en la etiqueta principal <HTML>

Y procederemos a copiar el código fuente

código html excel vba

Lo pegamos en un notepad o en mi caso en Sublime Text

html completar formulario en web vba excel

Y procederemos a buscar los dos input (Usuario y contraseña), obteniendo lo siguiente:

  • Primer input: Checkbox con valor indefinido
  • Segundo input: Listbox de idiomas
  • Tercer input: Usuario
  • Cuarto input: Contraseña
  • Quinto input: Checkbox Recordarme

Para nuestro código VBA usaremos al TERCER y CUARTO input

Ahora debemos trabajar de manera similar con el botón Ingresar

etiqueta span desde excel vba

Vemos que la etiqueta con la que debemos trabajar es una del tipo span

Para asegurar qué elemento realiza el envío lo ideal es analizar el código JavaScript

Jh

De manera similar, buscamos la posición de los elementos span con Sublime Text

  • Primer span: Cierre
  • Segundo span: Checkbox
  • Tercer span: Botón
  • Cuarto span: Botón ingresar
  • Etc

Para el envío de información usaremos al CUARTO span

Paso #3 – Llenar formulario web desde Excel con las etiquetas obtenidas

Usaremos el tercer input, cuarto input y cuarto span de la web

Así que nuestro código quedará de la siguiente forma

Y con este código ya podremos acceder a la web, sólo necesitamos ingresar los accesos correctos

Conexión a internet desde vba

Jh

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

2 ideas sobre “Llenar formulario web desde Excel – TagName”