java - 检查按钮是否可用?如果不等待 5 秒再检查一次?
问题描述
基本上我正在尝试查看当前是否可以单击按钮。如果没有,我想再试一次。所以我需要某种 goto 函数来返回我的代码的前一行。虽然我怀疑我写得非常糟糕,而且它本来可以做得更容易。
try {
driver.findElement(By.xpath("//button[@id='btn_ok']")).click();
}catch (Exception e) {
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
}
对于上下文,这是有问题的按钮罪魁祸首。
<button type="submit" value="ok" name="s1" id="btn_ok" class="green">
解决方案
您可以使用流利的等待。这将每隔 5 秒检查一次按钮是否可点击,持续 30 秒。您可以根据需要调整时间。试试这个代码并给出反馈是否有效。
Wait<WebDriver> wait = new FluentWait<WebDriver>(driver)
.withTimeout(30, TimeUnit.SECONDS)
.pollingEvery(5, TimeUnit.SECONDS)
.ignoring(NoSuchElementException.class);
WebElement clickseleniumlink = wait.until(new Function<WebDriver, WebElement>(){
public WebElement apply(WebDriver driver ) {
return driver.findElement(By.xpath("//button[@id='btn_ok']"));
}
});
clickseleniumlink.click();
推荐阅读
- angular - 在角度材料选项卡后添加箭头 css
- prolog - 内部谓词 evaluate/2 和 evaluate2/2
- wordpress - 我丢失了我的 wordpress 网站 url,我可以从 wordpress 备份文件中获取它吗
- php - 更改新嵌套数组中的键
- batch-file - 文件中的批量搜索和替换删除字符“!”
- python - 如何在张量流上使用 fp16(Eigen::half) 进行卷积
- java - 如何使用 jOOQ 从模板中按参数顺序生成 SQL?
- python - 如何在 numpy 上修复这些错误消息?
- html - 如何在 Office365 的 OWA 任务窗格中换行文本
- python - 如何在 python 脚本运行时同时将输出保存到文件中,即使出现错误?