微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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();

原文地址:https://codeday.me/bug/20190627/1302799.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐