Heim >Java >javaLernprogramm >Wie wechsle ich zwischen Registerkarten in Selenium WebDriver, wenn sie denselben Fenstergriff verwenden?
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:
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));
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!