java web 选项卡,使用带有Java的Selenium WebDriver在浏览器选项卡之间切换

I need to switch between the browser tabs, used the following code,

driver.findElement(By.cssSelector("body")).sendKeys(Keys.CONTROL +"\t");

It was working properly sometimes only, but sometimes it is showing an exception.

Can anyone suggest me is there any other instructions for switching tabs within a single window by using java.

解决方案

You have to use window handle function here. Here is a sample working code in 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

Hope this helps!

你可能感兴趣的:(java,web,选项卡)