Heim > Artikel > Backend-Entwicklung > Wie wechsle ich in Selenium für Python zu einem neuen Fenster?
Wechsel zu neuen Fenstern in Selenium für Python
In Selenium für Python kann die Handhabung mehrerer Browserfenster eine Herausforderung darstellen. Wenn nach dem Klicken auf einen Link ein neues Fenster geöffnet wird, bleibt der Fokus auf dem ursprünglichen Fenster und verhindert, dass Aktionen im neuen Fenster ausgeführt werden. Um dieses Problem zu beheben, müssen Sie den Fokus des Treibers auf das neue Fenster verlagern.
Bestimmen des Fensternamens
Die Methode „driver.switch_to.window()“ erfordert die Name des Fensters. Selenium bietet jedoch keine direkte Möglichkeit, diesen Namen zu erhalten. Stattdessen können Sie das Attribut window_handles verwenden, um eine Liste von Fensterhandles zu erhalten, bei denen es sich um eindeutige Bezeichner handelt.
Fokus auf das neue Fenster wechseln
Hier sind die Schritte dazu So wechseln Sie den Fokus auf das neue Fenster:
Beispielcode
Der folgende Python-Code veranschaulicht, wie man mit mehreren Browserfenstern umgeht und den Fokus auf das neue Fenster wechselt:
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()
Das obige ist der detaillierte Inhalt vonWie wechsle ich in Selenium für Python zu einem neuen Fenster?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!