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