Selenium:警报处理



我试图点击一个按钮,这将提示一个现代警报。但是,我得到了"元素在某一点上是不可点击的"错误。

driver.get("https://letcode.in/alert");
//send keys
driver.findElement(By.id("prompt")).click();
alert.sendKeys("Praveen");
alert.accept();
System.out.println(driver.findElement(By.id("myName")).getText());

//modern
driver.findElement(By.id("modern")).click();
Thread.sleep(1000);
driver.findElement(By.xpath("//button[@aria-label='close']")).click();

如果我没有执行发送密钥提示。//现代警报工作完美。我在执行//send keys alert后遇到这个错误。

请帮

一个好的做法是等待元素是可点击的,然后再尝试实际点击。尝试在单击前添加等待时间:

WebDriverWait wait = new WebDriverWait(driver, 10); 
WebElement element = wait.until(ExpectedConditions.elementToBeClickable(By.id("prompt"));
element.click();

这将等待10秒,使元素在点击之前可以点击。

你需要从org.openqa.selenium.support.ui中导入WebDriverWait和ExpectedConditions。

相关内容

  • 没有找到相关文章

最新更新