Comment gérer plusieurs fenêtres de navigateur à l'aide de Selenium dans Python
Dans le vaste domaine de l'automatisation Web, il est souvent nécessaire d'interagir avec plusieurs avec plusieurs multiples Windows ou onglets du navigateur. Selenium, un cadre d'automatisation de pointe, permet aux développeurs de Python la possibilité de naviguer dans ces défis de manière transparente.
Un scénario commun rencontré lors des tests Web est l'ouverture d'une nouvelle fenêtre de navigateur en cliquant sur un lien. Pour effectuer efficacement des actions dans la fenêtre nouvellement ouverte, nous devons changer le focus de la fenêtre d'arrière-plan. , nous devons identifier sa poignée. Cet identifiant unique représente l'instance de fenêtre spécifique. Pour récupérer les poignées, nous utilisons la méthode Driver.window_handles, qui renvoie une liste de toutes les poignées de fenêtre ouvertes. La poignée de la fenêtre actuellement focalisée sera le premier élément de cette liste.
Passant à la nouvelle fenêtre
maintenant que nous avons la poignée de la fenêtre cible, Nous pouvons passer à lui à l'aide de la méthode Driver.Switch_To.Window (Handle). Le passage de la poignée cible déplace efficacement la mise au point à la fenêtre correspondante, nous permettant d'effectuer des actions dans son contexte. Passez à une fenêtre nouvellement ouverte:
Importer unittest unit à partir de Selenium Import WebDriver classe GoogleorgSearch (unittest.testcase): Def Configuration (soi): self.driver = webdriver.firefox () def test_google_search_page (self): chauffeur = auto-auteur driver.get ("http://www.cdot.in") window_before = driver.window_handles [0] print (window_before) driver.find_element_by_xpath ("//amo window_after = driver.window_handles [1] driver.switch_to.window (window_after) imprimer (window_after) driver.find_element_by_link_text ("atm"). cliquez sur () driver.switch_to.window (window_before) Def Teardown (soi): self.driver.close () Si __name__ == "__main__": UNITTEST.MAIN () Dans cet exemple, nous accédons au site Web "http://www.cdot.in" et en cliquant sur un lien pour ouvrir une nouvelle fenêtre. Nous récupérons ensuite les poignées des deux fenêtres et passons à la nouvelle pour effectuer d'autres actions.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3