作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
基本上我是想看看此时是否可以点击按钮。如果没有,我想再试一次。所以我需要某种 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">
最佳答案
你可以使用流利的等待。这将在 30 秒内每 5 秒检查按钮是否可单击。您可以根据需要调整时间。尝试此代码并提供反馈是否有效。
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();
关于java - 检查按钮是否可用?如果不等待 5 秒再检查一次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55219695/
我有本地更改和远程更改。 有人告诉我必须先推,再 pull 。这背后有什么原因吗? 最佳答案 那个人错了:正确的模型是pull-before-you-push,而不是相反。 当您pull时,git 将
我正在使用最新版本的 Flat UI Pro 1.3.2 ( http://designmodo.com/flat/ ),jQuery 插件 flatui-radiocheck v0.1.0 和 iO
我是一名优秀的程序员,十分优秀!