Cómo automatizar Firefox o Chrome con Excel VBA y Selenium
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 para 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 Excelentes plantillas de gestión de proyectos de Excel para el seguimiento. 10 Excelentes utilidades de gestión de proyectos de seguimiento. Las plantillas de administración de proyectos pueden ayudarlo a replicar proyectos exitosos. Aquí están las plantillas esenciales de Microsoft Excel para usted. Más información y objetivos prioritarios. Use Excel y Google Tasks para crear la mejor herramienta de administración de objetivos. Alguna vez use Excel y Google Tasks para crear la mejor herramienta de administración de objetivos. Últimamente, me he dado cuenta de que estoy trabajando muy duro, pero si alguien me preguntó si siento o no que estoy trabajando para un propósito más grande, tengo 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. Usar 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 utilizando Visual Basic para El script de aplicaciones (VBA) de cualquier aplicación que lo admita, como Word, Outlook o Excel. Lea más configurando grupos de URL en hojas de Excel y luego use 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 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 tan comúnmente que muchos proveedores de navegadores populares están incorporando Selenium como parte nativa de su navegador. Su uso en sus aplicaciones de automatización seguramente será compatible durante los próximos años..
Automatizando Firefox y Chrome con Selenium
Antes de comenzar con este proyecto, deberá descargar e instalar la envoltura Selenium VBA. Entonces, tal como lo comenté en el artículo sobre la automatización de IE utilizando VBA para automatizar sesiones de Internet Explorer desde una hoja de cálculo de Excel, utilizando VBA para automatizar sesiones de Internet Explorer desde una hoja de cálculo de Excel. Visual Basic para aplicaciones (VBA) desde cualquier aplicación que lo admita, como Word, Outlook o Excel. Lee más, para escribir cualquier VBA en Excel, debes entrar en el modo de diseño y ver el código. Si nunca has hecho esto antes, solo necesitas entrar en el “Desarrollador” elemento de menú, y haga clic en Modo de diseño. Haga clic en el “Insertar” botón, 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”.
En la ventana del editor de código, en la parte inferior izquierda, asegúrese de cambiar tanto la “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 haya enumerado en la hoja de cálculo. En mi caso, acabo de llamarlo cmdLoadURLs e hice el título “Cargar URLs” (Esto es lo que aparece en el botón).
A continuación, debe habilitar Selenium Wrapper haciendo clic en el menú Herramientas y luego en “Referencias”, y luego busque la referencia llamada “SeleniumWrapper Type Library”. Marque la casilla de referencia y luego haga clic en Aceptar.
Ya está listo para comenzar a escribir el código de automatización del navegador con Selenium Wrapper!
Funcionalidad del Selenium Wrapper.
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, se desplegarán 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á el WebDriver. Una vez que use el objeto Selenium WebDriver en su código y escriba el período, desplegará una lista muy larga de métodos y propiedades que puede usar para automatizar su navegador web.
Puede llevar algo de tiempo aprender todo lo que está disponible, pero Google puede mostrar algunos buenos ejemplos, detrás de las muestras disponibles en la página de Google Code. Desafortunadamente, por lo que sé, no hay una guía sencilla para usar Selenium, pero agradecería a cualquier lector que pudiera proporcionar algún recurso.!
Escribiendo su código de selenio VBA
En este ejemplo, al igual que en el artículo de IE, he creado una lista de URL que deseo 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 lo que hace cada sección. En primer lugar, debe iniciar la aplicación Firefox. los “selenio.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..
Disminuir el selenio como nuevo SeleniumWrapper.WebDriver Disminuir FF como el objeto Dedecer intRowPosition Como entero Degradar las teclas como nuevo Selenium Wrapper.keys selenium.Iniciar "firefox", "http://www.google.com" selenium.setTimeout ("120000") selenium. 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 la “selenio.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 la fila y lee la siguiente URL en la lista. Si la celda no está en blanco, utiliza 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 + +) = Nada
El script recorrerá su lista completa hasta que todas las URL estén abiertas en sus propias pestañas. Aquí está el navegador después de que el bucle pasó por segunda vez y abrió MUO en una nueva pestaña.
Si desea utilizar este código para Chrome, todo lo que necesita hacer es cambiar la línea “selenio. empezar “Firefox”” a “cromo” en lugar.
Ahora crea tu propio script
Como mencioné anteriormente, la mejor manera de aprender el poder del Selenium Wrapper es escribir “selenio” en su código, toque el período y simplemente navegue hacia abajo en 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 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 emergente que muestra los parámetros que espera cada función. Eso puede ser de gran ayuda a la hora de descubrir cómo usarlo..
¿Usas VBA para automatizar tu computadora? ¿Alguna vez has automatizado tus sesiones de navegador desde VBA? Comparte tus propios consejos y experiencias en la sección de comentarios a continuación.!
Explore más acerca de: Google Chrome, Microsoft Excel, Mozilla Firefox, Programación de Visual Basic.