Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to switch from main window to popup window?

I'm not talking about the popups like alert, confirm or prompt dialogs. In the application if I click on a button popup gets opened. I am not able to switch the WebDriver to the popup window.

I've tried to use getWindowHandles() but it only returns the main window handle.

I also tried switchTo.window("windowname") but it didn't work.

like image 619
Code Enthusiastic Avatar asked Dec 31 '12 07:12

Code Enthusiastic


1 Answers

Usually Modular Windows are part of the same DOM, unlike javascripts alerts. Only thing that sets them apart from rest of the page is that they are in different frame.

Try to see if this Modular Window lies inside a frame or iframe tag. If any of the parent is frame or iframe then you will have to change the context to that frame before you can performa any action on the Modal Window.

So find the frame do a driver.switchTo().frame() and then perform the action on the element you want to. Once the action is done, which would most probably bring you back to the main page. Use driver.switchTo().defaultContent() to bring focus back to main page.

This SO question will be helpful.

If this does not work it would be helpful to have a look at the page or its HTML.

like image 133
Prashant Shukla Avatar answered Sep 30 '22 18:09

Prashant Shukla