【问题标题】:How to fix StaleElementReferenceException?如何修复 StaleElementReferenceException?
【发布时间】:2018-02-16 22:22:47
【问题描述】:

我正在尝试在下拉列表的所有选项之间进行迭代,并且它适用于第一个选项。在第二个选项之后,我得到了陈旧的元素异常。

下面是轨迹:

org.openqa.selenium.StaleElementReferenceException:过时的元素 参考:元素未附加到页面文档

下面是我的代码:

WebElement element = login.clickonCustomer();
        Select select = new Select(element);
        List<WebElement> listofelements = select.getOptions();
        for (int i = 1; i < listofelements.size(); i++) {
            String elementText = listofelements.get(i).getText();
            System.out.println(elementText);
            select.selectByVisibleText(elementText);
            login.ClickonLogin().click();
            Thread.sleep(3000);
            Accounts.clickonLogout().click();

        }
    }

【问题讨论】:

标签: java selenium-webdriver staleelementreferenceexception


【解决方案1】:

找到了解决方案。

   `element = login.customer();
    Select select = new Select(element);
    List<WebElement> listofelements = select.getOptions();
    // iterate through each and every option in the drop down
    for (int j = 1; j < listofelements.size(); j++) {
        Thread.sleep(3000);
        login.customer().click();
        String elementText = listofelements.get(j).getText();
        select.selectByVisibleText(elementText);
        login.loginbutton().click();
        Thread.sleep(3000);
        Assert.assertEquals(accounts.customername().getText(), elementText);
        accounts.logout().click();
        element = login.customer();
        select = new Select(element);
        listofelements = select.getOptions();
        }`

【讨论】:

  • 使用int j = 1;,您将跳过第一个元素,因为索引以0 开头。
  • 嗨,第一个元素是一个虚拟值,因此跳过并从索引 1 开始。感谢您的发现和建议。感谢您的帮助。
【解决方案2】:

尝试将代码包含在 try catch 块中。

  try
    {
        //your code to execute
    }
    catch(StateElementException e)
    {
   //enter the code that causes stale element exception
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-02
    • 2017-02-23
    • 1970-01-01
    • 2019-10-02
    • 2011-06-18
    相关资源
    最近更新 更多