Si eres de los que tiene que repetir tareas en aplicaciones web una, y otra, y otra vez, un trabajo que no es ineficiente realizarlo manualmente, sino inhumano, tal vez quieras crear una macro en Excel VBA que te permita navegar de manera automática.
Para ello hay varias herramientas, pero en este post cubriré Twebst. Cubriré tres aspectos:
- Instalación
- Configuración
- Grabación de scripts para VBA
Instalación
- Ve al sitio web de codecentrix.
-
Pincha el botón "Download".
-
Pincha el archivo EXE para descargar.
- Una vez descargado ejecuta el instalador.
Configurando el libro de Excel
Para cada libro de Excel en que vayas a usar código de twebst debes hacer esto:
- Estando en Excel con el libro abierto, presiona Alt F11 para desplegar el editor de código.
- Ve a Tools > References
-
Asegurate de que la referencia a Open twebst esté marcada.
Grabando script para VBA
-
Abre el programa Twebst
-
Digita la dirección web del sitio que vas a acceder en el browser de Twebst.
-
El programa abre con dos ventanas. En la otra ventana selecciona VBA y pincha Start Rec para iniciar la grabación del script.
- Efectua las tareas que desees.en el navegador
- Pincha Stop Rec para detener la grabación. Verás el script,
He ingresado a Google y he buscado e ingresado al sitio web de Rankia en el siguiente script de VBA usando Twebst.
Me ha parecido que Twebst crea scripts simples, y sirve como una buena introducción para hablar de automatización web.
Si no te gusta usar Twebst para automatizar navegación web, porque no lo encuentras muy flexible, puedes usar otras herramientas como Selenium. Me ha parecido apropiado empezar con Twebst, porque creo que sirve mucho para encontrar los nombres de los nodos de XML que usaste al navegar. El tema de nodos de XML no es un tema muy fácil para principiantes. No es que no se pueda aprender, pero para programadores principiantes que no conozcan sobre web, puede ser un poco complicado.
El asunto es que las páginas web se organizan en "nodos" que se ramifican, como los directorios de un disco duro. Cada campo de texto, botón y otros controles, corresponde a un nodo con una "ruta". No voy a ampliar mucho aquí sobre el tema. En todo caso si deseas aprender sobre XML puedes acceder a XML Tutorial.
Existen otras herramientas para automatización en VBA, como Selenium, que si bien ofrece mayor flexibilidad, no está apropiadamente documentado, y sólo vas a encontrar código Java para Selenium, que no se traduce muy literalmente a VBA, por lo que tratar de encontrar código equivalente no va a ser demasiado fácil. Por el momento Twebst debería servir para despertar la curiosidad sobre el tema.
Voy a ver si en el futuro escribo sobre Selenium, pero eso tomaría mucho tiempo.
Refrexiones sobre la automatización
He estado analizando el tema de la automatización y el empleo, y he llegado a la conclusión de que hay tareas que son muy repetitivas, que agregan poco valor a las empresas en virtud del esfuerzo y concentración que requieren, y poner a una persona a efectuar dicha tarea no sería ineficiente, sino inhumano.
Imagina una persona teniendo que depurar o revisar un reporte de Excel con 20 mil lineas. Imagina tener que buscar información de 5000 productos en la web de una empresa para obtener ciertos datos, para llenar una hja de Excel. Eso es simplemente inhumano y la tasa de error es muy alta.
Realmente si una persona no tiene una labor que sea intensiva en labores inhumanas, es que su empleo sí agrega valor. Lo bueno es que si antes la persona hacía el trabajo manual, ahora puede automatizarlo y dedicarse a aprender formas de hacer más con los mismos recursos. No es necesario un despido, a menos claro que su trabajo sea de copy/paste hasta el infinito.
He postergado los posts de automatización porque he querido estar seguro de que esto no fuera a dejar a nadie sin empleo. Queda abierto el debate.