使用Selenium WebDriver和Java在浏览器选项卡之间切换

mah*_*ahi 7 java selenium browser-tab selenium-webdriver

我需要在浏览器选项卡之间切换,使用以下代码,

driver.findElement(By.cssSelector("body")).sendKeys(Keys.CONTROL +"\t");
Run Code Online (Sandbox Code Playgroud)

它有时只是正常工作,但有时它会显示异常.任何人都可以建议我使用java在单个窗口中切换选项卡是否有任何其他说明.

小智 8

你必须在这里使用窗口句柄功能.以下是java中的示例工作代码:

    String parentHandle = driver.getWindowHandle(); // get the current window handle
    System.out.println(parentHandle);               //Prints the parent window handle 
    String anchorURL = anchor.getAttribute("href"); //Assuming u are clicking on a link which opens a new browser window
    anchor.click();                                 //Clicking on this window
    for (String winHandle : driver.getWindowHandles()) { //Gets the new window handle
        System.out.println(winHandle);
        driver.switchTo().window(winHandle);        // switch focus of WebDriver to the next found window handle (that's your newly opened window)              
    }
//Now your driver works on the current new handle
//Do some work here.....
//Time to go back to parent window
    driver.close();                                 // close newly opened window when done with it
    driver.switchTo().window(parentHandle);         // switch back to the original window
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!