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

  • Joseph Goodman
  • 0
  • 1626
  • 393
Anuncio

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

Cuando se trata de productividad, Excel es la herramienta más común utilizada por personas para cosas como organizar finanzas, administrar proyectos. 10 Plantillas de administración de proyectos de Excel poderosas para el seguimiento 10 Plantillas de administración de proyectos de Excel poderosas para el seguimiento Las plantillas de administración de proyectos gratuitas son las mejores. Obtenga estas plantillas clave de hoja de cálculo de Microsoft Excel para el seguimiento de cualquier proyecto. y priorizar objetivos Usar Excel y Google Tasks para crear la mejor herramienta de gestión de objetivos Usar Excel y Google Tasks para crear la mejor herramienta de gestión de objetivos Últimamente, he comenzado a darme cuenta de que estoy trabajando muy duro, pero si alguien me pregunta si siento o no que estoy trabajando hacia un propósito mayor, debo decir que realmente no ... La semana pasada, describí cómo automatizar IE usando 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 usando Visual Basic para Script de aplicaciones (VBA) desde cualquier aplicación que lo admita, como Word, Outlook o Excel. configurando grupos de URL en hojas de Excel y luego usando el objeto IE en Windows para automatizar el lanzamiento 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 pueda usarse para la automatización de VBA, realizar el mismo tipo de acciones en esos otros navegadores 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 que se usa con tanta frecuencia que muchos proveedores de navegadores populares están incorporando Selenium como parte nativa de su navegador. Usarlo en sus aplicaciones de automatización seguramente será compatible en los próximos años.

Automatizar Firefox y Chrome con Selenium

Antes de comenzar con este proyecto, deberá descargar e instalar el contenedor Selenium VBA. Luego, tal como lo discutí en el artículo sobre la automatización de IE usando 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 usando Script de Visual Basic para Aplicaciones (VBA) desde cualquier aplicación que lo admita, como Word, Outlook o Excel. , para escribir cualquier VBA en Excel, debe ingresar al modo de diseño y ver el código. Si nunca has hecho esto antes, solo necesitas entrar en “Desarrollador” elemento de menú y haga clic en Modo de diseño. Haga clic en el “Insertar” Haga clic en el botón ActiveX y dibuje en su hoja en alguna parte. Una vez que haya hecho eso, haga clic en el botón y luego haga clic en “Ver código”.

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

A continuación, debe habilitar Selenium Wrapper haciendo clic en el menú Herramientas, luego haga clic en “Referencias”, y luego busque la referencia llamada “SeleniumWrapper Type Library”. Marque esa casilla de referencia y luego haga clic en Aceptar.

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

Funcionalidad de la envoltura de selenio

El Selenium VBA Wrapper te ofrece mucha más funcionalidad de la que podré mostrarte en este artículo. Puede ver cuánto está disponible más allá del WebDriver, definiendo el objeto Selenium como “Nuevo SeleniumWrapper”. Cuando escriba el punto, 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.

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

Puede tomar algún tiempo aprender todo lo que está disponible, pero Google puede encontrar algunos buenos ejemplos, detrás de los ejemplos disponibles en la página de Google Code. Desafortunadamente, que yo sepa, no existe una guía sencilla para usar Selenium, pero agradecería a los lectores que puedan proporcionar recursos.!

Escribir su código de selenio de 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.

El código detrás del botón es sencillo, pero voy a explicar qué hace cada sección. En primer lugar, debe iniciar la aplicación Firefox. los “selenium.start” El método 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 alguna razón.

Dim selenio como nuevo SeleniumWrapper.WebDriver Dim FF como objeto Dim intRowPosition como entero Teclas atenuadas 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 “selenium.open” método para leer la URL de esa hoja de cálculo y abrirla en Firefox.

La siguiente sección de código incrementa el puntero de fila y lee la siguiente URL de la lista. Si la celda no está en blanco, entonces usa el método SendKeys para iniciar 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 While Sheet1.Range ("A" & intRowPosition) vbNullString selenium.SendKeys keys.Control & "t" selenium.Open Sheet1.Range ("A" & intRowPosition) intRowPosition = intRowPosition + 1 Wend Set IE =

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.

Si desea usar este código para Chrome, todo lo que necesita hacer es cambiar la línea “selenio Inicio “Firefox”” a “cromo” en lugar.

Ahora crea tu propio guión

Como mencioné anteriormente, la mejor manera de aprender el poder del Selenium Wrapper es escribir “selenio” en su código, presione el punto y simplemente explore 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.

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

¿Utiliza VBA para automatizar su computadora? ¿Alguna vez ha automatizado sus sesiones de navegador desde VBA? Comparta sus propios consejos y experiencias en la sección de comentarios a continuación.!




Nadie ha comentado sobre este artículo todavía.

Sobre tecnología moderna, simple y asequible.
Tu guía en el mundo de la tecnología moderna. Aprenda a usar las tecnologías y los dispositivos que nos rodean todos los días y aprenda a descubrir cosas interesantes en Internet.