如何处理在Selenium中弹出的IE安全警报
问题描述:
我收到了“警报数据:当您向Internet发送信息时,其他人可能会看到该信息,您是否想继续?同时运行登录脚本。我能够捕获安全警报数据,但无法接受该警报并继续进行。如何处理在Selenium中弹出的IE安全警报
@Test
public void f()
{
driver.get("http://www.demo.guru99.com/V4/");
String title= driver.getTitle();
System.out.println(title);
WebElement element = driver.findElement(By.xpath("html/body/form/table/tbody/tr[1]/td[2]/input"));
element.sendKeys("mngr57377");
WebElement element1 = driver.findElement(By.xpath("html/body/form/table/tbody/tr[2]/td[2]/input"));
element1.sendKeys("yzUdAtu");
WebElement elementClick=driver.findElement(By.xpath("html/body/form/table/tbody/tr[3]/td[2]/input[1]"));
elementClick.click();
try {
click(elementClick);
} catch (UnhandledAlertException f) {
try {
Alert alert = driver.switchTo().alert();
alert.accept();
String alertText = alert.getText();
System.out.println("Alert data: " + alertText);
} catch (NoAlertPresentException e) {
e.printStackTrace();
}
}
}
答
根据您的代码click(elementClick);
在try块下是错误的。我认为你必须走这条路 -
后下面的代码来处理警报 -
WebElement element = driver.findElement(By.xpath("html/body/form/table/tbody/tr[1]/td[2]/input"));
element.sendKeys("mngr57377");
WebElement element1 = driver.findElement(By.xpath("html/body/form/table/tbody/tr[2]/td[2]/input"));
element1.sendKeys("yzUdAtu");
WebElement elementClick=driver.findElement(By.xpath("html/body/form/table/tbody/tr[3]/td[2]/input[1]"));
elementClick.click();
try
{
Alert alert = driver.switchTo().alert();
alert.accept();
String alertText = alert.getText();
System.out.println("Alert data: " + alertText);
}
catch (NoAlertPresentException e)
{
e.printStackTrace();
}
而另一件事,尽量避免使用absolute xpath
而不是使用relative xpath
或尝试使您的自定义XPath。
我没有看到任何提醒。你正在使用哪个IE版本? – NarendraR
我正在使用IE11 – Bhagyalaxmi
我也在使用相同的版本。它没有显示任何警报。原因可能是您的IE的安全设置 – NarendraR