我收到“警报数据:当您向互联网发送信息时,其他人可能会看到该信息。您要继续吗?”在运行登录脚本时。我能够捕获安全警报数据,但无法接受该警报并继续进行。
@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();
}
}
}
答案 0 :(得分:0)
根据你的代码click(elementClick);
在try block下是错误的。我想你必须这样做 -
登录按钮后,单击使用以下代码处理警报 -
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。