Instalación de Selenium con Python

Básico
Selenium
Selenium
Actualizado: 05/05/2026

Instalación de Selenium con pip

flowchart TD
    Py["Python 3.10+"] --> Venv[python -m venv .venv]
    Venv --> Act[Activar entorno]
    Act --> Pip[pip install selenium]
    Pip --> Req[requirements.txt fijar versión]
    Pip --> Pkg["selenium 4.27+"]
    Pkg --> SM[Selenium Manager incluido]
    SM --> Auto[Descarga drivers automática]
    Auto --> CD[chromedriver]
    Auto --> GD[geckodriver]
    Auto --> ED[edgedriver]
    Pip --> Test[primer_test.py]
    Test --> Run[python primer_test.py]
    Run --> Browser["Chrome se abre + script ejecuta"]

La forma más sencilla de instalar Selenium en Python es usando pip, el gestor de paquetes estándar de Python.

pip install selenium

Para instalar una versión específica y garantizar reproducibilidad:

pip install selenium==4.26.0

Entorno virtual con venv

Es una buena práctica aislar las dependencias de cada proyecto usando entornos virtuales. Esto evita conflictos entre proyectos y permite reproducir el entorno exacto en cualquier máquina.

# Crear el entorno virtual
python -m venv venv

# Activar en Linux/macOS
source venv/bin/activate

# Activar en Windows
venv\Scripts\activate

# Instalar Selenium en el entorno virtual
pip install selenium

# Desactivar el entorno virtual cuando termines
deactivate

Archivo requirements.txt

El archivo requirements.txt es la forma estándar de documentar y reproducir las dependencias de un proyecto Python.

# Generar requirements.txt con las versiones instaladas
pip freeze > requirements.txt

# Instalar desde requirements.txt en otro entorno
pip install -r requirements.txt

Un requirements.txt típico para un proyecto Selenium con Python:

selenium==4.26.0
pytest==8.3.5
pytest-html==4.1.1
pytest-xdist==3.6.1

Selenium Manager: gestión automática de drivers

Desde Selenium 4.6, el proyecto incluye Selenium Manager, una herramienta de línea de comandos escrita en Rust que detecta automáticamente el navegador instalado en el sistema y descarga el driver compatible.

Esto significa que ya no necesitas:

  • Descargar ChromeDriver manualmente
  • Configurar la variable de entorno PATH con la ruta del driver
  • Usar librerías externas como webdriver-manager

Simplemente instanciando el navegador, Selenium se encarga del resto:

from selenium import webdriver

# Selenium Manager descarga y configura ChromeDriver automáticamente
driver = webdriver.Chrome()
driver.get("https://www.ejemplo.com")
print(driver.title)
driver.quit()

Comportamiento de Selenium Manager

Selenium Manager sigue este orden para localizar el driver:

  1. Variable de entorno SE_CHROMEDRIVER (o equivalente para otros navegadores)
  2. PATH del sistema: busca chromedriver en las rutas del sistema
  3. Caché local: directorio ~/.cache/selenium/ donde guarda los drivers descargados
  4. Descarga automática: si no lo encuentra, descarga la versión compatible con el navegador instalado

Primer script de verificación

Crea el archivo test_instalacion.py para verificar que todo funciona:

from selenium import webdriver
from selenium.webdriver.common.by import By

def main():
    # Inicializar ChromeDriver (Selenium Manager lo gestiona automáticamente)
    driver = webdriver.Chrome()

    try:
        # Navegar a una página
        driver.get("https://www.selenium.dev")

        # Obtener información básica
        print(f"Título: {driver.title}")
        print(f"URL: {driver.current_url}")

        # Verificar que la página cargó correctamente
        assert "Selenium" in driver.title, "El título no contiene 'Selenium'"
        print("¡Instalación correcta! Selenium está funcionando.")

    finally:
        # Siempre cerrar el navegador
        driver.quit()

if __name__ == "__main__":
    main()

Ejecuta el script:

python test_instalacion.py

Otros navegadores

Selenium es compatible con múltiples navegadores. La inicialización es igual de sencilla:

from selenium import webdriver

# Chrome
driver = webdriver.Chrome()

# Firefox
driver = webdriver.Firefox()

# Edge
driver = webdriver.Edge()

# Safari (solo en macOS, requiere habilitar Remote Automation en las preferencias)
driver = webdriver.Safari()

Modo headless (sin interfaz gráfica)

El modo headless permite ejecutar el navegador sin interfaz gráfica, ideal para entornos de CI/CD o servidores sin pantalla.

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

options = Options()
options.add_argument("--headless=new")  # headless moderno en Chrome 112+
options.add_argument("--no-sandbox")
options.add_argument("--disable-dev-shm-usage")

driver = webdriver.Chrome(options=options)
driver.get("https://www.ejemplo.com")
print(driver.title)
driver.quit()

Para Firefox en modo headless:

from selenium import webdriver
from selenium.webdriver.firefox.options import Options

options = Options()
options.add_argument("--headless")

driver = webdriver.Firefox(options=options)
driver.get("https://www.ejemplo.com")
print(driver.title)
driver.quit()

Estructura de proyecto recomendada

Una estructura limpia y organizada facilita el mantenimiento y la colaboración:

mi-proyecto-selenium/
├── venv/                    # Entorno virtual (no versionar)
├── pages/                   # Page Objects
│   ├── __init__.py
│   ├── login_page.py
│   └── home_page.py
├── tests/                   # Tests con pytest
│   ├── __init__.py
│   ├── conftest.py          # Fixtures compartidas
│   └── test_login.py
├── utils/                   # Utilidades y helpers
│   ├── __init__.py
│   └── driver_factory.py
├── requirements.txt         # Dependencias
└── pytest.ini               # Configuración de pytest

Verificación de la versión instalada

# Verificar la versión de Selenium instalada
pip show selenium

# Verificar desde Python
python -c "import selenium; print(selenium.__version__)"

A partir de Selenium 4.26, el paquete incluye todas las dependencias necesarias para WebDriver, incluyendo los bindings para Chrome, Firefox, Edge y Safari.

Fuentes y referencias

Documentación oficial y recursos externos para profundizar en Selenium

Documentación oficial de Selenium
Alan Sastre - Autor del tutorial

Alan Sastre

Ingeniero de Software y formador, CEO en CertiDevs

Ingeniero de software especializado en Full Stack y en Inteligencia Artificial. Como CEO de CertiDevs, Selenium es una de sus áreas de expertise. Con más de 15 años programando, 6K seguidores en LinkedIn y experiencia como formador, Alan se dedica a crear contenido educativo de calidad para desarrolladores de todos los niveles.

Más tutoriales de Selenium

Explora más contenido relacionado con Selenium y continúa aprendiendo con nuestros tutoriales gratuitos.

Aprendizajes de esta lección

Instalar Selenium con pip en entorno virtual Python. Configurar un proyecto Python con requirements.txt para gestión de dependencias. Comprender cómo Selenium Manager gestiona automáticamente los drivers de navegador. Verificar la instalación ejecutando el primer script básico con ChromeDriver. Conocer las diferencias entre selenium 4.x y versiones anteriores en Python.