Heim > Java > javaLernprogramm > Wie wechsle ich zwischen Registerkarten in Selenium WebDriver, wenn sie denselben Fenstergriff verwenden?

Wie wechsle ich zwischen Registerkarten in Selenium WebDriver, wenn sie denselben Fenstergriff verwenden?

Patricia Arquette
Freigeben: 2024-12-17 07:21:25
Original
409 Leute haben es durchsucht

How to Switch Between Tabs in Selenium WebDriver When They Share the Same Window Handle?

Tabs wechseln mit Selenium WebDriver in Java

In Selenium WebDriver mit Java kann die Automatisierung eines Szenarios mit mehreren Tabs eine Herausforderung darstellen Es besteht die Möglichkeit, dass sie sich denselben Fenstergriff teilen. Dies kann Versuche behindern, mithilfe der standardmäßigen Wechselhandle-Methode zwischen Registerkarten zu wechseln.

Problem:

Der bereitgestellte Code versucht, einen Prozess zu automatisieren, der das Öffnen einer neuen Registerkarte umfasst. darin Aktionen ausführen und zur ursprünglichen Registerkarte (übergeordnet) zurückkehren. Der Switch-Handle-Ansatz ist jedoch erfolglos, da beide Registerkarten dasselbe Fensterhandle verwenden. Dieses Problem tritt insbesondere beim Umgang mit Tabs innerhalb desselben Fensters auf, anders als bei der Verwendung separater Firefox-Fenster.

Lösung:

Um in solchen Szenarien effektiv zwischen Tabs zu wechseln, muss die Der folgende Ansatz kann verwendet werden:

  1. Verwenden Sie die Methode clickDocumentLink(), um ein neues zu öffnen tab.
  2. Erhalten Sie eine Liste aller geöffneten Fensterhandles mit ArrayList tabs = new ArrayList (driver.getWindowHandles());.
  3. Wechseln Sie mit drivers.switchTo().window(tabs.get(1));.
  4. Schließen Sie den neuen Tab mit dem Treiber .close();.
  5. Kehren Sie mit zur übergeordneten Registerkarte zurück drivers.switchTo().window(tabs.get(0));.

Beispielcode:

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

Indem Sie diese Schritte befolgen, Sie können erfolgreich zwischen Registerkarten wechseln, auch wenn sie dasselbe Fensterhandle verwenden. Denken Sie daran, Ihren Treiber auf die neue Registerkarte umzustellen, bevor Sie darin Aktionen ausführen.

Das obige ist der detaillierte Inhalt vonWie wechsle ich zwischen Registerkarten in Selenium WebDriver, wenn sie denselben Fenstergriff verwenden?. 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