使用带有Java的Selenium WebDriver在浏览器选项卡之间切换 [英] Switch between browser tabs using Selenium WebDriver with Java

查看:178
本文介绍了使用带有Java的Selenium WebDriver在浏览器选项卡之间切换的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

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

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

它有时仅工作正常,但有时却显示异常. 有人可以建议我使用Java在单个窗口中切换选项卡吗?

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.

推荐答案

您必须在此处使用窗口句柄功能.这是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

希望这会有所帮助!

这篇关于使用带有Java的Selenium WebDriver在浏览器选项卡之间切换的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆