cómo administrar múltiples ventanas del navegador usando selenio en python
en el vasto reino de la automatización web, a menudo es necesario interactuar con múltiples Windows o pestañas del navegador. Selenium, un marco de automatización líder en la industria, empodera a los desarrolladores de Python con la capacidad de navegar estos desafíos sin problemas.
Un escenario común encontrado durante las pruebas web es la apertura de una nueva ventana del navegador al hacer clic en un enlace. Para realizar acciones de manera efectiva dentro de la ventana recién abierta, debemos cambiar el enfoque de la ventana de fondo.
Encontrar el identificador de la ventana de destino
antes de cambiar a la nueva ventana , necesitamos identificar su mango. Este identificador único representa la instancia de ventana específica. Para recuperar los mangos, utilizamos el método Driver.Window_Handles, que devuelve una lista de todos los manijas de ventana abierta. El identificador de la ventana enfocada actualmente será el primer elemento en esta lista.
cambiando a la nueva ventana
ahora que tenemos el mango de la ventana de destino, Podemos cambiar a él usando el método Driver.switch_to.window (Handle). Pasar en el mango de destino mueve efectivamente el enfoque a la ventana correspondiente, lo que nos permite realizar acciones dentro de su contexto.
ejemplo de ejemplo
El siguiente código de Python ilustra cómo Cambiar a una ventana recién abierta:
import unittest from selenium import webdriver class GoogleOrgSearch(unittest.TestCase): def setUp(self): self.driver = webdriver.Firefox() def test_google_search_page(self): driver = self.driver driver.get("http://www.cdot.in") window_before = driver.window_handles[0] print(window_before) driver.find_element_by_xpath("//a[@href='http://www.cdot.in/home.htm']").click() window_after = driver.window_handles[1] driver.switch_to.window(window_after) print(window_after) driver.find_element_by_link_text("ATM").click() driver.switch_to.window(window_before) def tearDown(self): self.driver.close() if __name__ == "__main__": unittest.main()
En este ejemplo, estamos accediendo al sitio web "http://www.cdot.in" y hacer clic en un enlace para abrir una nueva ventana. Luego recuperamos las manijas de las dos ventanas y cambiamos al recién abierto para realizar más acciones.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3