2017-09-26 52 views
1

無法在最後一步中單擊警報框中的「確定」。我也試過控制彈出窗口警報 - Selenium

public class MyFirst { 
public static void main(String[] args) throws NoAlertPresentException,InterruptedException { 
    System.setProperty("webdriver.chrome.driver", "C:\\Users\\kunal.bhaskar\\Downloads\\chromedriver.exe"); 

     WebDriver driver = new ChromeDriver(); 
     String baseUrl = "https://www.goindigo.in"; 

     driver.get(baseUrl); 


    driver.findElement(By.xpath("//*[@id=\"roundWay\"]/form/div[1]/ul/li[1]/input[1]")).clear();  
    driver.findElement(By.xpath("//*[@id=\"roundWay\"]/form/div[1]/ul/li[1]/input[1]")).sendKeys("Patna"); 
    driver.findElement(By.xpath("//*[@id=\"roundWay\"]/form/div[1]/ul/li[2]/input[1]")).sendKeys("Bengaluru"); 
    driver.findElement(By.xpath("//*[@id=\"roundWay\"]/form/div[1]/ul/li[3]/input")).click(); 
    Select adult = new Select(driver.findElement(By.xpath("//*[@id=\"roundWay\"]/form/div[1]/ul/li[3]/div/div[1]/label[2]/select"))); 
    adult.selectByVisibleText("2"); 
    driver.findElement(By.xpath("//*[@id=\"depart-date\"]")).clear(); 
    driver.findElement(By.xpath("//*[@id=\"depart-date\"]")).sendKeys("18 Oct 2017"); 
    driver.findElement(By.xpath("//*[@id=\"return-date\"]")).clear(); 
    driver.findElement(By.xpath("//*[@id=\"return-date\"]")).sendKeys("28 Oct 2017"); 
    driver.findElement(By.xpath("//*[@id=\"roundWay\"]/form/div[1]/div/div/div/ul/li[1]/div/div[1]")).click(); 
    driver.switchTo().alert().accept(); 

} 
+0

你得到了什麼錯誤? – nullpointer

+0

我無法在最後一步點擊'確定'按鈕 – Kunal

+0

org.openqa.selenium.NoAlertPresentException是錯誤 – iamsankalp89

回答

1

其實,這不是一個警報。這是一個模式框,這就是爲什麼你得到沒有警報目前例外。

模態框的代碼。

WebElement findElement = driver.findElement(By.xpath("//*[@id='globalModal']/div/div/div[3]/button")); 

JavascriptExecutor jse = (JavascriptExecutor)driver; 
jse.executeScript("arguments[0].click()", findElement); 

在您的代碼中寫入這些行而不是driver.switchTo().alert().accept();。 它會正常工作。

+0

謝謝,現在它正在工作 – Kunal

+0

YEs @Raju U是正確的:+​​1,我也發現這 – iamsankalp89

0

這不是一個警報親愛的,你RTY與alert.accept()這就是關閉它爲什麼給了例外

試試這個

WebElement alertbox= driver.findElement(By.xpath(" //*[@id='globalModal']/div/div/div[3]/button")); 
alertbox.click(); 
+0

這不是一個警覺親愛的,你可能會用alert.accept()它關閉它爲什麼給異常 – iamsankalp89