首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >读取excel文件时,在java中执行下一次迭代。

读取excel文件时,在java中执行下一次迭代。
EN

Stack Overflow用户
提问于 2020-06-08 06:23:24
回答 1查看 82关注 0票数 0

我在下面有一个selenium java函数,在这里我从excel读取文件。

需求-如果我的代码由于页面上的错误消息而导致特定行失败,那么我的代码应该转到下一行,但是迭代不会停止。

代码语言:javascript
复制
    for (int i = 0; i <rowcount-2; i++) {



                    wait.ignoring(StaleElementReferenceException.class).until(ExpectedConditions.visibilityOfElementLocated(By
                            .id("_FOpt1:_FOr1:0:_FOSritemNode_procurement_supplier_qualification:0:_FOTsditasksId::icon")));



                    WebElement task = driver
                            .findElement(By
                                    .id("_FOpt1:_FOr1:0:_FOSritemNode_procurement_supplier_qualification:0:_FOTsditasksId::icon"));
                    WebElement menu;
                    boolean menuVisible = false;
                    while (!menuVisible) {
                        task.click();
                        wait.ignoring(StaleElementReferenceException.class).until(ExpectedConditions.visibilityOfElementLocated(By
                                .id("_FOpt1:_FOr1:0:_FOSritemNode_procurement_supplier_qualification:0:_FOTRaT:0:RAtl1")));


                        menu = driver
                                .findElement(By
                                        .id("_FOpt1:_FOr1:0:_FOSritemNode_procurement_supplier_qualification:0:_FOTRaT:0:RAtl1"));
                        if (menu.isDisplayed()) {
                            menuVisible = true;
                        }
                    }




                    wait.ignoring(StaleElementReferenceException.class).until(ExpectedConditions.visibilityOfElementLocated(By
                            .id("_FOpt1:_FOr1:0:_FOSritemNode_procurement_supplier_qualification:0:_FOTRaT:0:RAtl1")));

                    driver.findElement(
                            By.id("_FOpt1:_FOr1:0:_FOSritemNode_procurement_supplier_qualification:0:_FOTRaT:0:RAtl1"))
                            .click();

}

如果它在循环中失败,它不应该停止执行,如果i=1失败,它不应该移动到下一个迭代值,那么它应该移动到i=2。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-08 07:31:17

使用try catch块控制异常情况。

例如:

代码语言:javascript
复制
for (...){
try {
    //read excel
    //if failed then continue
    } catch (FailedToReadException e) {
        continue;
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62256159

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档