基本上我正试图看看是否能够点击一个按钮.如果不是,我想再试一次.所以我需要某种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();
原文地址:https://codeday.me/bug/20190627/1302799.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。