保存数据后出现一个警报弹出窗口。如何使用带有Java的Selenium检查弹出窗口的可见性
答案 0 :(得分:1)
我建议您使用如下所示的ExpectedConditions来检查警报是否存在:
WebDriverWait wait = new WebDriverWait(driver, 30);
if(wait.until(ExpectedConditions.alertIsPresent())==null)
{
System.out.println("No alert");
else{
System.out.println("Alert present");
}
}
要接受该警报,您可以使用:
driver.switchTo().alert().accept();
要关闭该警报,您可以使用:
driver.switchTo().alert().dismiss();
要将某些值发送到警报框,可以使用:
driver.switchTo().alert().sendKeys("Text");
我们也可以使用try-catch块,如下所示:
public boolean alertPresent()
{
try
{
driver.switchTo().alert();
return true;
}
catch (NoAlertPresentException Ex)
{
return false;
}
}
答案 1 :(得分:0)
driver.switchTo().alert();
这将帮助您切换到警报弹出窗口,并可以检查其可见性。
答案 2 :(得分:0)
好吧,找到弹出窗口的xpath或ID,让我们举个例子
WebElement popUp = driver.findElement(By.xpath("xpath of the popup"));
if (popUp.isDisplayed())
{
WebElement btnOk = driver.findElement(By.xpath("xpath of the button in alert"));
btnOk.click();
System.out.println("Pop up displayed and button clicked");
}
else
{
System.out.println("Pop up Not found");
}
它们是处理警报并检查警报是否存在的第二种方式
try
{
Alert alert = driver.switchTo().alert();
System.out.println(alert.getText()+" Alert is Displayed");
}
catch(NoAlertPresentException ex)
{
System.out.println("Alert is NOT Displayed");
}