Registerkartenwechsel mit Selenium WebDriver mit Java
Beim Automatisieren von Webseiten mit Selenium WebDriver ist das Wechseln zwischen Registerkarten eine häufige Anforderung. Beim Umgang mit Registerkarten innerhalb desselben Fensters entsteht jedoch eine Herausforderung, da beide Registerkarten möglicherweise dasselbe Fensterhandle haben.
Problem:
Beim Automatisieren eines Szenarios, das Folgendes beinhaltet Das Öffnen einer neuen Registerkarte, das Ausführen von Aktionen innerhalb dieser Registerkarte und das Zurückkehren zur ursprünglichen Registerkarte (übergeordnete Registerkarte) mithilfe des Schaltergriffs funktioniert möglicherweise nicht. Die Registerkarten können dasselbe Fensterhandle verwenden, wodurch das Wechseln zwischen ihnen wirkungslos wird.
Lösung 1: Fenstergriffe verfolgen
Wenn Fenstergriffe verfügbar sind, können Sie die Registerkarten mit wechseln die folgenden Schritte:
ArrayList<String> tabs = new ArrayList<String>(driver.getWindowHandles()); driver.switchTo().window(tabs.get(1)); // Switch to the new tab driver.close(); // Close the new tab driver.switchTo().window(tabs.get(0)); // Switch back to the parent tab
Lösung 2: Selenium Actions verwenden (Experimentell)
Die experimentelle Selenium.Actions-Klasse stellt eine select_window-Methode bereit, mit der Tabs nach Fenstertitel gewechselt werden können:
WebElement parentTab = driver.findElement(By.xpath("//ul/li/a[@id='tab1_link']")); WebElement newTab = driver.findElement(By.xpath("//ul/li/a[@id='tab2_link']")); Actions actions = new Actions(driver); actions.keyDown(Keys.CONTROL).click(newTab).keyUp(Keys.CONTROL).build().perform(); actions.keyDown(Keys.CONTROL).click(parentTab).keyUp(Keys.CONTROL).build().perform();
Denken Sie daran, sicherzustellen, dass Ihre Treiberbibliothek vorhanden ist aktuell, um auf die Selenium.Actions-Klasse zuzugreifen.
Das obige ist der detaillierte Inhalt vonWie kann ich mit Selenium WebDriver in Java effizient zwischen Browser-Registerkarten wechseln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!