Cómo automatizar firefox o chrome con excel vba y selenio

La clave para la automatización está haciendo las cosas más rápido y más fácil de lo que nunca has hecho antes. Así que lo que tarda mucho tiempo para hacerlo? ¿Qué parte de su carga de trabajo le gustaría automatizar?

Vídeo: 003.1 - Excel y los Certificados Digitales VBA

Cuando se trata de productividad, Excel es la herramienta más común utilizado por la gente para cosas como la organización de las finanzas, la gestión de proyectos, y priorización de objetivos. La semana pasada, he descrito cómo automatizar IE mediante la creación de grupos de direcciones URL en hojas de Excel, y luego mediante el objeto de IE en Windows para automatizar el lanzamiento de grupos de direcciones URL directamente desde dentro de Excel.10 + plantillas de Excel útil para la gestión de proyectos & Rastreo10 + plantillas de Excel útil para la gestión de proyectos & RastreoLas plantillas son a los gerentes lo son cuchillos para chefs profesionales proyectar: ​​indispensable. Le mostramos cómo se puede replicar proyectos exitosos mediante el uso de plantillas ya preparadas en Microsoft Excel y más allá.Lee mas

A raíz 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 en Windows que se puede utilizar para la automatización de VBA, realizando el mismo tipo de acciones en esos otros navegadores requiere un paso adicional. Ese paso es la instalación de selenio VBA - un contenedor COM de Windows para el Selenio.

Se le permite realizar llamadas desde cualquier aplicación que soporte VBA con el fin de abrir un navegador - no sólo IE - y controlar que la sesión del navegador. Es una herramienta de automatización de gran alcance que se utilizan tan comúnmente que muchos proveedores de navegadores populares están incorporando selenio como una parte natural de su navegador. Su uso en aplicaciones de automatización está seguro de ser apoyado en los años venideros.

La automatización de Firefox y Chrome con selenio

Antes de empezar con este proyecto, tendrá que descargar e instalar la envoltura selenio VBA. Entonces, como dije en el artículo sobre automatización de IE, para escribir cualquier VBA en Excel, es necesario entrar en el modo de diseño y ver el código. Si nunca has hecho esto antes, sólo tiene que ir a la opción de menú “desarrolladores”, y haga clic en el modo de diseño. Haga clic en el botón “Insertar”, haga clic en el botón ActiveX y dibujarlos en su hoja de alguna parte. Una vez que hayas hecho esto, haga clic en el botón y luego haga clic en “Ver código”.El uso de VBA para automatizar Internet Explorer sesiones desde una hoja de cálculo de ExcelEl uso de VBA para automatizar Internet Explorer sesiones desde una hoja de cálculo de ExcelSu integración con Windows permite el control de Internet Explorer en un número de maneras sorprendentes utilizando Visual Basic para aplicaciones guión (VBA) desde cualquier aplicación que lo soporta, como Word, Outlook o Excel.Lee mas

selenium1

En la ventana del editor de código, en la parte inferior izquierda, asegúrese de cambiar tanto el “Nombre” y la “Leyenda” para reflejar lo que el botón es para. En este caso, el botón será para abrir la lista de direcciones URL que ha enumerado en la hoja de cálculo. En mi caso, me acaba de llamar que cmdLoadURLs, e hice el epígrafe “URL de carga” (Esto es lo que aparece en el botón).

selenium1b

A continuación, necesita habilitar el selenio Envoltura haciendo clic en el menú Herramientas, a continuación, haga clic en “Referencias”, a continuación, vaya a la referencia llamada “biblioteca de tipos SeleniumWrapper”. Compruebe que la caja de referencia y haga clic en Aceptar.

Selenium2

Ahora está listo para comenzar a escribir código de automatización navegador utilizando el selenio Envoltura!

Funcionalidad del selenio Envoltura

El selenio VBA Envoltura le da mucha más funcionalidad que voy a ser capaz de mostrar en éste artículo. Se puede ver hasta qué punto está disponible más allá de la WebDriver, definiendo el objeto de selenio como “Nueva SeleniumWrapper”. Al escribir el período, que va desplegable de todos los elementos de los tipos de objetos que se pueden controlar, como las imágenes del navegador, archivos PDF, las teclas del teclado, y más.

selenium3

Este código de ejemplo será el uso de la WebDriver. Una vez que utilice el objeto selenio WebDriver en el código y escribir el punto, se dejará caer por una larga lista de métodos y propiedades que se pueden utilizar para automatizar su navegador web.

selenium4

Puede tomar algún tiempo para aprender todo lo que está disponible, pero Google puede subir algunos buenos ejemplos, detrás de las muestras disponibles en la página de Google Code. Por desgracia, por lo que yo sé, no hay sencilla guía que hay para el uso de selenio, pero me gustaría que el de cualquier lector que podrían aportar los recursos!

Escribir el código VBA Selenio

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

selenium5

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

Dim selenio como Nueva SeleniumWrapper.WebDriverDim FF Como ObjectDim intRowPosition Como teclas IntegerDim como nuevo SeleniumWrapper.keysselenium.Start "Firefox", "https://google.com"selenium.setTimeout ("120000") Selenium.setImplicitWait (5000) intRowPosition = 2selenium.Open Sheet1.Range ("UN" & intRowPosition)

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

selenium7

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

Vídeo: How to use selenium in Excel VBA

intRowPosition = intRowPosition + 1Mientras Sheet1.Range ("UN" & intRowPosition) lt; gt; vbNullStringselenium.SendKeys keys.Control & "t"selenium.Open Sheet1.Range ("UN" & intRowPosition) intRowPosition = intRowPosition + 1WendSet IE = nada

La secuencia de comandos de bucle a través de toda la lista hasta que todas las URL están abiertos en sus propias pestañas. Aquí está el navegador después del bucle pasó por una segunda vez y abrió MUO en una nueva pestaña.

selenium8

Si desea utilizar este código para Chrome, todo lo que tiene que hacer es cambiar la línea “selenium.Start‘Firefox’” a “chrome” en su lugar.

Ahora Crear su propio guión

Como he mencionado anteriormente, la mejor manera de aprender el poder del selenio Envoltura es escribir “selenio” en su código, golpear el período y simplemente navegar por la larga lista de propiedades y métodos disponibles. Por ejemplo, se puede utilizar la propiedad .URL para obtener la URL de la ficha abierta en Firefox o Chrome.

selenium9

Como se puede ver, hay muchas más cosas que puede hacer que van mucho más allá del alcance de este artículo. Pero experimentar y pasar un buen rato. Afortunadamente, la mayoría de las funciones pop-up texto de ayuda que le muestra qué parámetros de cada función espera. Esto puede ser de gran ayuda cuando se trata de encontrar la manera de usarlo.

Cómo se utiliza VBA para automatizar su equipo? ¿Alguna vez ha automatizado sus sesiones de navegador de VBA? Compartir sus propios consejos y experiencias con él en la sección de comentarios!

Artículos Relacionados