Selenium Web Driver : Handle Confirm Box using Java
41,982
Solution 1
different dialogs handling using selenium webDriver:
import org.openqa.selenium.Alert;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class JavaScriptAlertTest {
public static void main(String[] args) {
WebDriver myTestDriver = new FirefoxDriver();
myTestDriver.get("...blablabla....");
myTestDriver.manage().window().maximize();
myTestDriver.findElement(By.xpath("//input[@value = 'alert']")).click();
Alert javascriptAlert = myTestDriver.switchTo().alert();
System.out.println(javascriptAlert.getText()); // Get text on alert box
javascriptAlert.accept();
System.out.println("*************prompt******************************************");
myTestDriver.findElement(By.xpath("//input[@value = 'prompt']")).click();
Alert javascriptprompt = myTestDriver.switchTo().alert();
javascriptprompt.sendKeys("This is Selenium Training");
System.out.println(javascriptprompt.getText()); // Get text on alert box
javascriptprompt.accept();
javascriptprompt = myTestDriver.switchTo().alert();
System.out.println(javascriptprompt.getText()); // Get text on alert box
javascriptprompt.accept();
myTestDriver.findElement(By.xpath("//input[@value = 'prompt']")).click();
javascriptprompt = myTestDriver.switchTo().alert();
System.out.println(javascriptprompt.getText()); // Get text on alert box
javascriptprompt.dismiss();
javascriptprompt = myTestDriver.switchTo().alert();
System.out.println(javascriptprompt.getText()); // Get text on alert box
javascriptprompt.accept();
System.out.println("***********************************confirm dialog box****************************");
myTestDriver.findElement(By.xpath("//input[@value = 'confirm']")).click();
Alert javascriptconfirm = myTestDriver.switchTo().alert();
javascriptconfirm.accept();
javascriptconfirm = myTestDriver.switchTo().alert();
System.out.println(javascriptconfirm.getText()); // Get text on alert box
javascriptconfirm.accept();
myTestDriver.findElement(By.xpath("//input[@value = 'confirm']")).click();
javascriptconfirm = myTestDriver.switchTo().alert();
javascriptconfirm.dismiss();
javascriptconfirm = myTestDriver.switchTo().alert();
System.out.println(javascriptconfirm.getText()); // Get text on alert box
javascriptconfirm.accept();
}
}
Hope it helps you:)
Solution 2
protected void handleAlert() {
try {
getDriver().switchTo().alert().accept();
} catch (NoAlertPresentException e) {
// That's fine.
}
}
Author by
KingJames
Updated on August 05, 2022Comments
-
KingJames over 1 year
Hi I am using the following code for handling the alert box after clicking an action but it isn't working Can somebody please help.
This is where I call the handler. clickOnAlert() after clickOnAddQuote() is called alert box appears.
System.out.println("before add to quote"); this.clickOnAddQuote(); System.out.println("before alert"); this.clickOnAlert(); System.out.println("after alert");
function clickOnAlert()
public void clickOnAlert() { System.out.println("In click"); Alert alert = webdriverSession().switchTo().alert(); System.out.println("after constructor"); alert.accept(); }
Please help. Thanks
-
KingJames over 11 yearsIt is going into catch block. I am sure confirm box will come but still i is not able to identify that. Is alert is different than confirm here? Do I need some other code?
-
Alexander Mills over 6 yearsall I see is
switchTo().alert().accept()
in your example...what about handlingwindow.confirm()
orwindow.prompt()
?