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!
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:
Explicación:
webdriver
deselenium
.Luego, definimos el objeto
driver
para el navegador Opera. También puedes usar otros navegadores compatibles como Chrome, Firefox, etc.Creamos una lista de enlaces que queremos abrir en nuevas pestañas.
En el bucle
for
, usamos el métododriver.execute_script()
para abrir una nueva pestaña usando JavaScript.Cambiamos a la pestaña recién abierta usando
driver.switch_to.window()
y pasando el identificador de la última ventana usandodriver.window_handles[-1]
. Esto nos dará el identificador de la última pestaña abierta.Cargamos el enlace usando
driver.get()
.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!