Maison >développement back-end >Tutoriel Python >Comment basculer entre plusieurs fenêtres de navigateur dans Selenium avec Python ?
Comment gérer plusieurs fenêtres de navigateur dans Selenium avec Python
Lorsque vous travaillez avec l'automatisation Selenium, vous pouvez rencontrer des situations où plusieurs fenêtres de navigateur apparaissent. Comme l'accent reste mis sur la première fenêtre ouverte, naviguer ou effectuer des actions dans les fenêtres suivantes devient difficile. Pour résoudre ce problème, une méthode clé est driver.switch_to.window().
Localisation du nom de la fenêtre
Contrairement à l'idée selon laquelle driver.switch_to.window( ) nécessite un nom de fenêtre, il fonctionne plutôt sur les handles de fenêtre. La détermination du handle de fenêtre peut être obtenue à l'aide de la propriété window_handles.
Comment passer à une nouvelle fenêtre
Pour basculer le focus sur la fenêtre nouvellement ouverte, suivez ces étapes :
window_before = driver.window_handles[0]
window_after = driver.window_handles[1]
driver.switch_to.window(window_after)
Exemple
Considérez le code suivant qui navigue entre plusieurs fenêtres :
import unittest from selenium import webdriver class WindowHandling(unittest.TestCase): def setUp(self): self.driver = webdriver.Firefox() def test_window_switch(self): driver = self.driver driver.get("http://www.cdot.in") window_before = driver.window_handles[0] 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) 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()
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!