gpt4 book ai didi

java - 单击按钮直到 Selenium 中出现警报

转载 作者:太空宇宙 更新时间:2023-11-04 12:43:17 26 4
gpt4 key购买 nike

我想单击一个按钮,直到出现 JavaScript 警报。

这是我想做的:

while(!ExpectedConditions.alertIsPresent())
button.click();

但这不起作用,因为表达式未计算为 boolean 条件。

我已经尝试过:

while(ExpectedConditions.alertIsPresent() == null)
button.click();

但这会导致永远不会进入循环。感谢您的指导

最佳答案

谓词 ExpectedConditions.alertIsPresent 无法在 while 中直接求值。您可以与服务员一起使用:

WebDriverWait wait = new WebDriverWait(driver, 20);
wait.until(ExpectedConditions.alertIsPresent());

但在您的情况下,更好的选择是实现一个谓词,单击按钮直到出现警报:

WebElement button = driver.findElement(By.id("..."));

// clicks on the button every 100ms until the alert is present
Alert alert = new WebDriverWait(driver, 20, 100).until((WebDriver drv)->{
try{
button.click();
return drv.switchTo().alert();
}catch(NoAlertPresentException ex){
return null;
}
});

// accept the alert
alert.accept();

关于java - 单击按钮直到 Selenium 中出现警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36605876/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com