es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cambiar pestaña en Selenium.

He estado intentando cambiar de pestañas en Selenium durante un día y no puedo lograrlo. Quiero hacer scraping web en Selenium y abrir los enlaces en pestañas en lugar de abrir un nuevo navegador cada vez, ya que eso consume muchos recursos de la computadora y me genera otro problema. Quiero que las pestañas vayan en un loop con un par de enlaces diferentes y luego verificar elementos. ¿Qué código puedo usar para abrir los enlaces en nuevas pestañas y cambiar a esa pestaña para luego verificar elementos? Estoy usando Selenium con Opera. ¡Gracias!

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Solución para cambiar de pestañas en Selenium con Python

    Para abrir enlaces en nuevas pestañas y cambiar a esa pestaña para comprobar elementos, necesitamos usar el método driver.switch_to.window().

    Aquí hay un fragmento de código en Python que muestra cómo hacerlo:

    from selenium import webdriver
    
    # Define el controlador para el navegador Opera
    driver = webdriver.Opera()
    
    # Lista de enlaces para abrir en pestañas
    links = ["https://example.com", "https://google.com", "https://facebook.com"]
    
    # Abre los enlaces en nuevas pestañas y cambia a cada pestaña
    for link in links:
        driver.execute_script("window.open('');")
        driver.switch_to.window(driver.window_handles[-1])
        driver.get(link)
        # Comprueba elementos en la página
        # ...
    

    Explicación:

    1. Primero, importamos el módulo webdriver de selenium.
    2. Luego, definimos el objeto driver para el navegador Opera. También puedes usar otros navegadores compatibles como Chrome, Firefox, etc.

    3. Creamos una lista de enlaces que queremos abrir en nuevas pestañas.

    4. En el bucle for, usamos el método driver.execute_script() para abrir una nueva pestaña usando JavaScript.

    5. Cambiamos a la pestaña recién abierta usando driver.switch_to.window() y pasando el identificador de la última ventana usando driver.window_handles[-1]. Esto nos dará el identificador de la última pestaña abierta.

    6. Cargamos el enlace usando driver.get().

    7. Finalmente, podemos comprobar elementos en la página de la pestaña recién abierta.

    Espero que esto te ayude con tu proyecto de web scraping usando Selenium y Python. ¡Hazme saber si tienes alguna otra pregunta!

Comments are closed.