Selenium: automatización del navegador con Python

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

¿Qué es Selenium y para qué sirve?

Selenium es un potente framework de código abierto diseñado para automatizar acciones en navegadores web. Esta librería permite a los desarrolladores controlar navegadores de forma programática, simulando acciones reales de un usuario: navegar entre páginas, rellenar formularios, hacer clic en elementos, trabajar con listas desplegables y muchas otras operaciones.

Selenium se utiliza ampliamente en diversas áreas del desarrollo y las pruebas. Sus principales usos incluyen la automatización de pruebas de interfaces de usuario, el web scraping de sitios dinámicos, la automatización de tareas repetitivas en el navegador y la verificación de funcionalidades en aplicaciones web.

Características clave y ventajas de Selenium

Soporte multiplataforma de navegadores

Selenium es totalmente compatible con todos los navegadores populares, incluyendo Google Chrome, Mozilla Firefox, Microsoft Edge, Safari y Opera. Esto significa que un mismo código puede funcionar en diferentes navegadores con cambios mínimos.

Simulación realista de acciones de usuario

El framework puede reproducir con precisión casi cualquier acción del usuario: clics con botón izquierdo y derecho, arrastrar y soltar elementos, desplazamiento de páginas, ingreso de texto con teclado, manejo de ventanas modales y mucho más.

Métodos flexibles para localizar elementos

Selenium ofrece múltiples formas de encontrar elementos en una página: por ID, clase, nombre de etiqueta, selectores CSS, expresiones XPath, texto de enlaces y otros atributos. Esto brinda la máxima flexibilidad al trabajar con diferentes tipos de páginas web.

Soporte para modo headless

La posibilidad de ejecutar el navegador en modo headless (sin interfaz gráfica) convierte a Selenium en la herramienta ideal para automatización en servidores, contenedores y pipelines de CI/CD.

Funcionalidades avanzadas

Selenium puede trabajar con múltiples pestañas y ventanas, manejar alertas de JavaScript, gestionar cookies y sesiones, configurar servidores proxy, tomar capturas de pantalla y guardar el código HTML de las páginas.

Instalación y configuración de Selenium

Instalación de la librería principal

Para empezar a trabajar con Selenium, primero debes instalar la librería principal usando pip:

pip install selenium

Descarga y configuración de los controladores del navegador

Cada navegador requiere su propio controlador. El más popular es ChromeDriver para el navegador Chrome. A partir de la versión 115 de Chrome, se recomienda usar Chrome for Testing, que puedes descargar desde el sitio oficial de Google.

Es importante asegurarse de que la versión del controlador coincida con la versión del navegador instalado. Para automatizar este proceso, puedes usar herramientas como webdriver-manager:

pip install webdriver-manager

Gestión automática de controladores

El enfoque moderno para gestionar controladores implica usar un gestor de controladores:

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.service import Service

service = Service(ChromeDriverManager().install())
driver = webdriver.Chrome(service=service)

Fundamentos de Selenium

Iniciar el navegador y operaciones básicas

Ejemplo básico para iniciar el navegador y navegar entre páginas:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

# Configurar opciones del navegador
options = Options()
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')

# Inicializar el controlador
driver = webdriver.Chrome(options=options)

# Navegar entre páginas
driver.get("https://example.com")
print(f"Título de la página: {driver.ti                    

Recommendations