如何处理在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(); 
      } 
     } 

    } 
+0

我没有看到任何提醒。你正在使用哪个IE版本? – NarendraR

+0

我正在使用IE11 – Bhagyalaxmi

+0

我也在使用相同的版本。它没有显示任何警报。原因可能是您的IE的安全设置 – NarendraR

根据您的代码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。