硒抛出StaleElementReferenceException

时间:2020-10-19 13:29:59

标签: java selenium selenium-webdriver selenium-chromedriver

测试基于CEF的一页应用程序,并且存在一些问题。因此,我的应用程序可以生成具有许多不同配置的输出文件,可以根据彼此的下拉列表进行选择。

尝试通过模拟适当的单击来生成所有可能选项的文件:显示列表选择第一个可能的选项->与list2相同->与list3相同->前进->导出文件->返回开始。

        for (WebElement material : materialList) {
        displayMaterialList.click();
        material.click();
        for (WebElement size : sizeList) {
            displaySizeList.click();
            size.click();
            for (WebElement thickness : thicknessList) {
                displayThicknessList.click();
                thickness.click();
                //Exporting file:
                nextStepButton.click()
                nextStepButton.click();
                exportFileButton.click();
                copyPasteText("filename" + "_" + currentDataTime);
                previousStepButton.click();;
            }
        }
    }

这些循环可以正常工作,而不会导出嵌入在最深循环中的文件片段,用于显示所有可能选项的组合。但是当我添加文件命名和导出片段测试项目时 StaleElementReferenceException在第二次迭代开始时刚生成的文件之后。我认为找不到thickness.click();,但不知道为什么。

1 个答案:

答案 0 :(得分:0)

根据Exception Doc Selenium

常见原因

在以下两种情况之一中引发了陈旧元素引用异常,第一种比第二种更为常见:

The element has been deleted entirely.
The element is no longer attached to the DOM.

请检查一下,如果看不到要尝试进行测试的html,请给出适当的答案。