Inicio > Cursos > Bots & Automatizacion > Automatizacion web con Selenium
Bots & AutomatizacionAutomatizacion de TareasLección 6 de 7

Automatizacion web con Selenium

Selenium controla un navegador real desde Python. Puede hacer TODO lo que un humano hace: clic, escribir, scroll, esperar, screenshots.

Casos de uso: • Web scraping de sitios con JavaScript • Automatizar formularios (facturacion, reportes) • Testing de aplicaciones web • Monitorear precios y disponibilidad • Llenar aplicaciones de trabajo automaticamente • Screenshot automatizado de reportes

Instalacion: pip install selenium webdriver-manager

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.service import Service

# Setup automatico del driver
service = Service(ChromeDriverManager().install())
driver = webdriver.Chrome(service=service)

try:
    # Navegar
    driver.get("https://google.com")
    
    # Esperar que cargue
    search = WebDriverWait(driver, 10).until(
        EC.presence_of_element_located((By.NAME, "q"))
    )
    
    # Escribir y buscar
    search.send_keys("Python automation")
    search.send_keys(Keys.RETURN)
    
    # Esperar resultados
    WebDriverWait(driver, 10).until(
        EC.presence_of_element_located((By.ID, "search"))
    )
    
    # Obtener resultados
    results = driver.find_elements(By.CSS_SELECTOR, "h3")
    for i, r in enumerate(results[:5]):
        print(f"{i+1}. {r.text}")
    
    # Screenshot
    driver.save_screenshot("resultado.png")
    
finally:
    driver.quit()

Selenium en modo headless (sin abrir ventana del navegador):

from selenium.webdriver.chrome.options import Options options = Options() options.add_argument("--headless") options.add_argument("--no-sandbox") driver = webdriver.Chrome(options=options)

Ideal para correr en servidores sin interfaz grafica.

ConsejoSelenium es pesado (abre un navegador real). Para scraping simple usa requests + BeautifulSoup. Usa Selenium solo cuando la pagina necesita JavaScript o interaccion.
← Programar tareas con cron y scheduleAutomatizar emails masivos →

Practica esta lección

Resuelve los ejercicios del curso de Bots & Automatizacion en la app, gratis y con corrección automática.

Empezar a practicar