Tabla de Contenidos
Python: Selenium
Selenium es una herramienta de código abierto y multiplataforma que permite automatizar interacciones con aplicaciones web sin intervención manual.
También es la única solución cuando queremos procesar webs que tienen carga dinámica, es decir, se va cargando el contenido sin modicar la URL.
Navegadores soportados:
- Mozilla Firefox
- Google Chrome
- Safari
- Microsoft Edge
- Opera
- Microsoft IE
Funcionamiento
- Cuando ejecutamos un automatismo, el código se convierte en JSON
- El JSON generado se envía al browser driver a través del JSON Wire Protocol Over HTTP.
- El driver del navegador ejecuta los comandos en su respectivo navegador mediante HTTP.
- El driver del navegador obtiene la respuesta del navegador y la envía de vuelta al cliente.
Instalación
A través del gestor de paquetes pip:
pip install selenium
Uso
Además de la instalación de Selenium, debemos elegir el navegador que vamos a utilizar porque lo que hace Selenium es lanzar un navegador y automatizar acciones dentro de él.
Debemos descargar el webdriver para el navegador correspondiente. Navegadores más populares y estándar:
from selenium import webdriver driver = webdriver.Firefox("/ruta/webdriver/firefox") driver.get("https://tempwin.net") driver.quit
El anterior código abrirá una instancia de Firefox y cargará la URL https://tempwin.net. Al finalizar la carga, se cerrará.
Si usásemos Google Chrome, el método que usaríamos con webdriver sería Chrome:
from selenium import webdriver driver = webdriver.Chrome("/ruta/webdriver/chrome") driver.get("https://tempwin.net") driver.quit
XPath
En Firefox:
- XPath:
//*[@id='nombre'] - CSS:
#nombre
