Heim >Java >javaLernprogramm >Wie kann ich mit Java trotz identischer Fenstergriffe nahtlos zwischen Registerkarten in Selenium WebDriver wechseln?

Wie kann ich mit Java trotz identischer Fenstergriffe nahtlos zwischen Registerkarten in Selenium WebDriver wechseln?

Linda Hamilton
Linda HamiltonOriginal
2024-12-01 10:14:13890Durchsuche

How to Seamlessly Switch Between Tabs in Selenium WebDriver with Java Despite Identical Window Handles?

Müheloser Tab-Wechsel mit Selenium WebDriver in Java

Problem:

In Selenium WebDriver mit Java bewährt sich die Automatisierung des Tab-Wechsels problematisch aufgrund identischer Fenstergriffe in verschiedenen Registerkarten. Trotz der Verwendung eines „Schaltergriffs“ bleibt die Funktionalität schwer fassbar. Wie können wir nahtlos zwischen Registerkarten wechseln, ohne auf Fenstergriffe angewiesen zu sein, da diese in diesem Fall identisch sind?

Lösung:

Um die Registerkarten effektiv zu wechseln, implementieren Sie Folgendes Vorgehensweise:

psdbComponent.clickDocumentLink();
ArrayList<String> tabs = new ArrayList<>(driver.getWindowHandles());
driver.switchTo().window(tabs.get(1));
driver.close();
driver.switchTo().window(tabs.get(0));

Erklärung:

  1. Fenstergriffe abrufen: Rufen Sie die Liste der aktuell geöffneten Registerkarten ab, indem Sie auf den Treiber zugreifen. getWindowHandles(). Jede Registerkarte oder jedes Fenster wird durch ihr eindeutiges Fensterhandle identifiziert.
  2. Zur neuen Registerkarte wechseln: Verwenden Sie drivers.switchTo().window(tabs.get(1)), um den Fokus zu wechseln zum zweiten Tab (Index = 1). Dies ermöglicht Vorgänge innerhalb der neu geöffneten Registerkarte.
  3. Neue Registerkarte schließen: Sobald die Vorgänge in der neuen Registerkarte abgeschlossen sind, rufen Sie drivers.close() auf, um diese Registerkarte zu schließen.
  4. Zurück zur übergeordneten Registerkarte: Nutzen Sie Driver.switchTo().window(tabs.get(0)), um den Fokus wieder auf das Original zu schalten (übergeordneter) Tab (Index = 0).

Durch die Einhaltung dieser Schritte können Sie mühelos zwischen Tabs in Selenium WebDriver wechseln, unabhängig von freigegebenen Fenstergriffen. Dieser Ansatz bietet eine robuste Lösung für Tab-Wechselaufgaben bei automatisierten Browserinteraktionen.

Das obige ist der detaillierte Inhalt vonWie kann ich mit Java trotz identischer Fenstergriffe nahtlos zwischen Registerkarten in Selenium WebDriver wechseln?. 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