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

Wie wechselt man mit Python zwischen mehreren Browserfenstern in Selenium?

Susan Sarandon
Freigeben: 2024-11-08 00:53:02
Original
569 Leute haben es durchsucht

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

So gehen Sie mit mehreren Browserfenstern in Selenium mit Python um

Beim Arbeiten mit der Selenium-Automatisierung kann es vorkommen, dass mehrere Browserfenster angezeigt werden. Da der Fokus weiterhin auf dem ersten geöffneten Fenster liegt, wird das Navigieren oder Ausführen von Aktionen in nachfolgenden Fenstern zu einer Herausforderung. Eine Schlüsselmethode zur Behebung dieses Problems ist „driver.switch_to.window()“.

Auffinden des Fensternamens

Im Gegensatz zu der Vorstellung, dass „driver.switch_to.window(“ ) erfordert einen Fensternamen, es funktioniert stattdessen mit Fensterhandles. Das Bestimmen des Fensterhandles kann mithilfe der Eigenschaft window_handles erfolgen.

So wechseln Sie zu einem neuen Fenster

Um den Fokus auf das neu geöffnete Fenster zu schalten, führen Sie die folgenden Schritte aus:

  1. Bevor Sie auf den Link klicken, der das neue Fenster auslöst, notieren Sie das aktuelle Fensterhandle mit:
window_before = driver.window_handles[0]
Nach dem Login kopieren
  1. Nachdem Sie auf den Link geklickt haben, rufen Sie das Handle des ab neues Fenster:
window_after = driver.window_handles[1]
Nach dem Login kopieren
  1. Verwenden Sie die Methode switch_to.window(window_handle), um den Fokus zu lenken:
driver.switch_to.window(window_after)
Nach dem Login kopieren

Beispiel

Betrachten Sie den folgenden Code, der zwischen mehreren Fenstern navigiert:

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()
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie wechselt man mit Python zwischen mehreren Browserfenstern in Selenium?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage