最后一步中无法单击“警报”框中的“确定”。我也尝试过控制弹出窗口
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();
}
最佳答案
实际上,这不是警报。这是一个模态框,这就是为什么您会收到“无警报存在异常”的原因。
模态框代码。
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();
。
它会工作得很好。
关于java - 警报 - Selenium ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46424418/