Akalyvan
Akalyvan

Reputation: 157

Press Enter in popup using selenium

I m using Selenium to test my web application.

Here I want to click the enter button to select the values in list box. I have tried maximum all methods using javascript, sendkeys and Robot also. Everything is working fine in normal window, but when the popup appeared that time not working for this.

Has anyone faced this issue?

Kindly help me.

Thanks for advance.

Upvotes: 4

Views: 3373

Answers (3)

iamsankalp89
iamsankalp89

Reputation: 4739

Try this code to switch the windows:

WebDriver driver = new FirefoxDriver();
driver.get("http://demo.guru99.com/popup.php");
driver.manage().window().maximize();
driver.findElement(By.xpath("html/body/p/a")).click();

// return the parent window name as a String
String parentWindow=driver.getWindowHandle();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

// Pass a window handle to the other window
for(String childWindow: driver.getWindowHandles())
{
if(!childWindow.equals(parentWindow)){
System.out.println("child");
//switch to child window
driver.switchTo().window(childWindow);
//find an element and print text of it 
WebElement textLabel=driver.findElement(By.xpath("html/body/div[1]/h2"));
System.out.println(" text:  "+textLabel.getText());
driver.close();
}
}
System.out.println("Come to parent window");
/switch to Parent window
 driver.switchTo().window(parentWindow);

Upvotes: 1

Akalyvan
Akalyvan

Reputation: 157

Try the below code:

driver.switchTo().activeElement();

it's also working fine for me....

Upvotes: 0

Shubham Jain
Shubham Jain

Reputation: 17553

You need to switch the pop-up first and then you can perfrom action

Alert alertOK = driver.switchTo().alert();
alertOK.accept();

If the pop-up is not confirmation box then you need to switch and perform click operation

driver.switchTo().alert();
element.click();

OR If it is application pop-up then you can try below code

To switch to a popup window, you need to use getWindowHandles() and iterate through them.

In your code you are using getWindowHandle() which will give you the parent window itself.

String parentWindowHandler = driver.getWindowHandle(); // Store your parent window
String subWindowHandler = null;

Set<String> handles = driver.getWindowHandles(); // get all window handles
Iterator<String> iterator = handles.iterator();
while (iterator.hasNext()){
    subWindowHandler = iterator.next();
}
driver.switchTo().window(subWindowHandler); // switch to popup window

// Now you are in the popup window, perform necessary actions here

driver.switchTo().window(parentWindowHandler);  // switch back to parent window

Hope it will help you :)

Upvotes: 4

Related Questions