Heim  >  Artikel  >  Backend-Entwicklung  >  Wie wechselt man mit Selenium in Python zwischen mehreren Browserfenstern?

Wie wechselt man mit Selenium in Python zwischen mehreren Browserfenstern?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-09 03:27:01713Durchsuche

How to Switch Between Multiple Browser Windows Using Selenium in Python?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn