Cómo automatizar Firefox o Chrome con Excel VBA y selenio

La clave de la automatización es hacer las cosas más rápido y más fácil que nunca antes. Entonces, ¿qué parte de tu carga de trabajo te gustaría automatizar? ¡Veamos qué podemos hacer!

La clave de la automatización es hacer las cosas más rápido y más fácil que nunca antes.  Entonces, ¿qué parte de tu carga de trabajo te gustaría automatizar?  ¡Veamos qué podemos hacer!
Anuncio

La clave de la automatización es hacer las cosas más rápido y más fácil que nunca antes. Entonces, ¿qué te lleva mucho tiempo hacer? ¿Qué parte de tu carga de trabajo te gustaría automatizar?

Cuando se trata de productividad, Excel es la herramienta más utilizada por las personas para organizar finanzas, administrar proyectos. 10+ Plantillas útiles de Excel para gestión de proyectos y seguimiento 10+ Plantillas útiles de Excel para gestión de proyectos y plantillas de seguimiento son para los gerentes de proyecto qué cuchillos son para chefs profesionales: indispensables. Le mostramos cómo puede replicar proyectos exitosos mediante el uso de plantillas ya preparadas en Microsoft Excel y más. Lea más y priorice los objetivos Use las tareas de Excel y Google para crear la mejor herramienta de administración de objetivos Use las tareas de Excel y Google para crear la mejor herramienta de administración de objetivos. Últimamente, comencé a darme cuenta de que estoy trabajando mucho, pero si alguien me preguntó si creía que estaba trabajando para un propósito más amplio, tendría que decir que realmente no ... Leer más. La semana pasada, describí cómo automatizar IE utilizando VBA para automatizar sesiones de Internet Explorer desde una hoja de cálculo de Excel usando VBA para automatizar sesiones de Internet Explorer desde una hoja de cálculo de Excel. Su integración con Windows permite el control de Internet Explorer de varias formas sorprendentes usando Visual Basic para Script de aplicaciones (VBA) desde cualquier aplicación que lo soporte, como Word, Outlook o Excel. Lea más configurando grupos de URL en hojas de Excel y luego usando el objeto IE en Windows para automatizar el inicio de grupos de URL directamente desde Excel.

Después de ese artículo, muchos lectores preguntaron cómo hacer lo mismo en Firefox o Chrome. Dado que ni Firefox ni Chrome tienen un objeto similar incluido con Windows que se puede usar para la automatización de VBA, realizar el mismo tipo de acciones en esos otros buscadores requiere un paso adicional. Ese paso es la instalación de Selenium VBA, un contenedor COM de Windows para Selenium.

Le permite realizar llamadas desde cualquier aplicación que admita VBA para abrir un navegador, no solo IE, y controlar esa sesión del navegador. Es una poderosa herramienta de automatización tan comúnmente utilizada que muchos proveedores populares de navegadores están incorporando Selenium como parte nativa de su navegador. Su uso en sus aplicaciones de automatización seguramente será soportado en los años venideros.

Automatizando Firefox y Chrome con Selenio

Antes de comenzar con este proyecto, deberá descargar e instalar el contenedor Selenium VBA. Entonces, tal como lo mencioné en el artículo sobre automatización de IE Uso de VBA para automatizar sesiones de Internet Explorer desde una hoja de cálculo de Excel usando VBA para automatizar sesiones de Internet Explorer desde una hoja de cálculo de Excel Su integración con Windows permite el control de Internet Explorer de varias maneras sorprendentes Script de Visual Basic para Aplicaciones (VBA) desde cualquier aplicación que lo soporte, como Word, Outlook o Excel. Lea más, para escribir cualquier VBA en Excel, necesita ingresar al modo de diseño y ver el código. Si nunca has hecho esto antes, solo tienes que acceder al elemento de menú "Desarrollador" y hacer clic en Modo de diseño. Haga clic en el botón "Insertar", haga clic en el botón ActiveX y dibuje en su hoja en algún lugar. Una vez que haya hecho eso, haga clic en el botón y luego haga clic en "Ver código".

selenio1

En la ventana del editor de código, en la esquina inferior izquierda, asegúrese de cambiar tanto el "Nombre" como el "Título" para reflejar para qué sirve el botón. En este caso, el botón abrirá la lista de URL que ha enumerado en la hoja de cálculo. En mi caso, simplemente lo llamé cmdLoadURLs, e hice el título "Load URLs" (esto es lo que aparece en el botón).

selenio1b

A continuación, debe habilitar el Contenedor de Selenio haciendo clic en el menú Herramientas, luego hacer clic en "Referencias", y luego navegar hacia abajo a la referencia llamada "Biblioteca de Tipo SeleniumWrapper". Verifique ese cuadro de referencia y luego haga clic en Aceptar.

selenio2

¡Ahora está listo para comenzar a escribir el código de automatización del navegador utilizando Selenium Wrapper!

Funcionalidad de la envoltura de selenio

El Selenium VBA Wrapper te ofrece mucha más funcionalidad de la que te mostraré en este artículo. Puede ver cuánto está disponible más allá del WebDriver, definiendo el objeto Selenium como "New SeleniumWrapper". Cuando escriba el período, desplegará todos los elementos de los tipos de objetos que puede controlar, como imágenes del navegador, archivos PDF, teclas del teclado y más.

selenio3

Este código de ejemplo usará WebDriver. Una vez que use el objeto Selenium WebDriver en su código y escriba el período, se desplegará una larga lista de métodos y propiedades que puede usar para automatizar su navegador web.

selenio4

Puede tomar algún tiempo aprender todo lo que está disponible, pero Google puede encontrar algunos buenos ejemplos, detrás de las muestras disponibles en la página de Google Code. Desafortunadamente, hasta donde yo sé, no hay una guía directa para usar Selenium, ¡pero le agradecería a cualquier lector que pudiera proporcionarle cualquier recurso!

Escribir su código de selenio VBA

En este ejemplo, como en el artículo de IE, he creado una lista de URL que quiero abrir en Firefox automáticamente. Luego creé el botón como se describe en la primera parte de este artículo.

selenio5

El código detrás del botón es sencillo, pero voy a explicar lo que hace cada sección. En primer lugar, debes iniciar la aplicación Firefox. El método "selenium.start" hará eso. Los métodos setTimeout y setImplicitWait no son críticos, pero pueden evitar que su aplicación se bloquee para siempre si el navegador no responde por algún motivo.

 Selenio oscuro como nuevo SeleniumWrapper.WebDriver Dim FF como objeto Dim intRowPosition As Integer Dim keys Como nuevo SeleniumWrapper.keys selenium.Start "firefox", "http://www.google.com" selenium.setTimeout ("120000") selenio. setImplicitWait (5000) intRowPosition = 2 selenium.Open Sheet1.Range ("A" & intRowPosition) 

El último par de líneas establece la fila de los datos de Excel para leer (fila dos, donde se almacena la primera URL en la hoja de cálculo), y luego realiza el método "selenium.open" para leer la URL de esa hoja de cálculo y abrirla en Firefox.

selenio7

La siguiente sección de código incrementa el puntero de fila y lee la siguiente URL en la lista. Si la celda no está en blanco, utiliza el método SendKeys para abrir una nueva pestaña en Firefox, lee la siguiente URL de esa venta y abre la URL en esa nueva pestaña.

 intRowPosition = intRowPosition + 1 Mientras Sheet1.Range ("A" & intRowPosition) vbNullString selenium.SendKeys keys.Control & "t" selenium.Open Sheet1.Range ("A" & intRowPosition) intRowPosition = intRowPosition + 1 Wend Set IE = Nothing 

El script recorrerá toda su lista hasta que todas las URL estén abiertas en sus propias pestañas. Aquí está el navegador después de que el ciclo pasó por segunda vez y abrió MUO en una nueva pestaña.

selenio8

Si desea utilizar este código para Chrome, todo lo que necesita hacer es cambiar la línea "selenium.Start" firefox "" por "chrome".

Ahora crea tu propia secuencia de comandos

Como mencioné anteriormente, la mejor forma de aprender el poder de la Envoltura de Selenio es escribir "selenio" en su código, seleccionar el período y navegar por la larga lista de propiedades y métodos disponibles. Por ejemplo, puede usar la propiedad .URL para obtener la URL de la pestaña actualmente abierta en Firefox o Chrome.

selenio9

Como puede ver, hay muchas más cosas que puede hacer que van más allá del alcance de este artículo. Pero experimenta y diviértete. Afortunadamente, la mayoría de las funciones mostrarán un texto de ayuda que le muestra qué parámetros espera cada función. Eso puede ayudar mucho cuando se trata de descubrir cómo usarlo.

¿Usas VBA para automatizar tu computadora? ¿Alguna vez ha automatizado sus sesiones de navegador desde VBA? ¡Comparte tus propios consejos y experiencias en la sección de comentarios a continuación!

In this article