Please refer the below set of code to understand how can we switch between different windows in Selenium. Open a web page:
WebDriver driver = new FirefoxDriver();
driver.get("http://qtpseleniumsolutions.blogspot.in/");
Open a new window:
WebElement elemLink = driver.findElement(By.linkText("Web Driver"));
Actions actions = new Actions(driver);
actions.moveToElement(elemLink);
actions.contextClick(elemLink).sendKeys(Keys.ARROW_DOWN)
.sendKeys(Keys.ARROW_DOWN).sendKeys(Keys.ENTER).build()
.perform();
For opening in a new tab/window see the post Open in new Tab or new Window in Selenium Webdriver
Switch between two tabs or windows:
If you want to switch to a specific window, see below:
String windowHandle = driver.getWindowHandle();
Now if you want to switch to second windows use the below code:
for(String winHandle : driver.getWindowHandles()){
driver.switchTo().window(winHandle);
}
Switch to the parent window:
driver.switchTo().window(windowHandle);
Or, simply you can do as below to switch between two tabs or windows: 10
ArrayList<string> tabs = new ArrayList<string> (driver.getWindowHandles());
//Switch to new window
driver.switchTo().window(tabs.get(1));
driver.close();//do some action in new window(2nd tab)
//Switch to main/parent window
driver.switchTo().window(tabs.get(0));
driver.getTitle();//do some action in main window(1st tab)
</string></string>
WebDriver driver = new FirefoxDriver();
driver.get("http://qtpseleniumsolutions.blogspot.in/");
Open a new window:
WebElement elemLink = driver.findElement(By.linkText("Web Driver"));
Actions actions = new Actions(driver);
actions.moveToElement(elemLink);
actions.contextClick(elemLink).sendKeys(Keys.ARROW_DOWN)
.sendKeys(Keys.ARROW_DOWN).sendKeys(Keys.ENTER).build()
.perform();
For opening in a new tab/window see the post Open in new Tab or new Window in Selenium Webdriver
Switch between two tabs or windows:
If you want to switch to a specific window, see below:
String windowHandle = driver.getWindowHandle();
Now if you want to switch to second windows use the below code:
for(String winHandle : driver.getWindowHandles()){
driver.switchTo().window(winHandle);
}
Switch to the parent window:
driver.switchTo().window(windowHandle);
Or, simply you can do as below to switch between two tabs or windows: 10
ArrayList<string> tabs = new ArrayList<string> (driver.getWindowHandles());
//Switch to new window
driver.switchTo().window(tabs.get(1));
driver.close();//do some action in new window(2nd tab)
//Switch to main/parent window
driver.switchTo().window(tabs.get(0));
driver.getTitle();//do some action in main window(1st tab)
</string></string>
No comments:
Post a Comment