如何避免Selenium中的“StaleElementReferenceException”?

时间:2017-09-28 17:29:53

标签: java selenium-webdriver

我有一个StaleElementReferenceException。

我找到了How to avoid "StaleElementReferenceException" in Selenium?。我试图理解并使其符合我的代码。

By ordersBy = (By.id("subtab-AdminParentOrders"));
        WebElement orders = driver.findElement(ordersBy);
        orders.click();
        public boolean retryingFindClick () {
            boolean result = false;
            int attempts = 0;
            while (attempts < 2) {
                try {
                    driver.findElement(By.id("subtab-AdminParentOrders")).click();
                    result = true;
                    break;
                } catch (StaleElementReferenceException e) {
                }
                attempts++;
            }
            return result;
        }

第一次编译错误。我应该粘贴什么作为参数?为什么要用分号?

enter image description here

我在main中写了这个方法。也许这就是拒绝回归的原因。如何将此方法适用于我的代码(主要)?

enter image description here

1 个答案:

答案 0 :(得分:0)

我看到它的方式你已经在另一个方法中创建了一个方法,它不能像那样工作。同时将APP_NAME=Laravel APP_ENV=local APP_KEY=************************************************* APP_DEBUG=true APP_LOG_LEVEL=debug APP_URL=************ 输入到课堂正文中,只需将retryingFindClick()代码替换为以下内容即可:

try