Heim > Artikel > Backend-Entwicklung > Wie wechselt man mit Selenium in Python zwischen mehreren Browserfenstern?
So verwalten Sie mehrere Browserfenster mit Selenium in Python
Im weiten Bereich der Webautomatisierung ist es oft notwendig, mit mehreren zu interagieren Browserfenster oder -registerkarten. Selenium, ein branchenführendes Automatisierungsframework, gibt Python-Entwicklern die Möglichkeit, diese Herausforderungen nahtlos zu meistern.
Ein häufiges Szenario bei Webtests ist das Öffnen eines neuen Browserfensters beim Klicken auf einen Link. Um Aktionen innerhalb des neu geöffneten Fensters effektiv auszuführen, müssen wir den Fokus vom Hintergrundfenster weg verlagern.
Den Griff des Zielfensters finden
Bevor wir zum neuen Fenster wechseln , müssen wir seinen Handle identifizieren. Dieser eindeutige Bezeichner repräsentiert die spezifische Fensterinstanz. Um die Handles abzurufen, verwenden wir die Methode „driver.window_handles“, die eine Liste aller geöffneten Fensterhandles zurückgibt. Das Handle des aktuell fokussierten Fensters ist das erste Element in dieser Liste.
Wechseln zum neuen Fenster
Da wir nun das Handle des Zielfensters haben, Wir können mit der Methode „driver.switch_to.window(handle)“ dorthin wechseln. Durch die Übergabe des Zielhandles wird der Fokus effektiv auf das entsprechende Fenster verschoben, sodass wir Aktionen in seinem Kontext ausführen können.
Codebeispiel
Der folgende Python-Code veranschaulicht, wie das geht Zu einem neu geöffneten Fenster wechseln:
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()
In diesem Beispiel greifen wir auf die Website „http://www.cdot.in“ zu und klicken auf einen Link, um ein neues Fenster zu öffnen. Anschließend rufen wir die Handles der beiden Fenster ab und wechseln zum neu geöffneten, um weitere Aktionen auszuführen.
Das obige ist der detaillierte Inhalt vonWie wechselt man mit Selenium in Python zwischen mehreren Browserfenstern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!