2017-01-03 48 views
0

我收到了「警報數據:當您向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

回答

0

根據您的代碼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。

相關問題