当前位置: 首页 > 知识库问答 >
问题:

获取错误-org.openqa.selenium.StaleElementReferenceException:过时元素引用:元素未附加到页面文档

邓阳嘉
2023-03-14

我正在网页上做分页。其中20个帐户已经加载到页面上,在再次单击该按钮后,又加载了20个帐户。第三次点击后,按钮从网页上消失,所有帐户都已加载。但我得到以下错误:

“org.openqa.selenium.staleElementReferenceException:过时元素引用:元素未附加到页面文档”

public static WebDriver driver;
public static List<WebElement> tarif;
public static Actions action;
public static boolean flag;
    tarif = driver.findElements(By.xpath("//button[contains(text(),'tarife')]"));


    flag = true;

        while(flag) {

            System.out.println(flag);

            System.out.println(tarif.size());

            if (tarif.size() > 0) {

                //try {

                    Actions action = new Actions(driver);
                    action.moveToElement(tarif.get(0)).build().perform();
                    Thread.sleep(5000);

                    tarif.get(0).click();

            } else {

                flag = false;
            }

        }

    Thread.sleep(5000);

    driver.quit();

共有1个答案

夹谷茂
2023-03-14

陈旧元素异常表示web页面上存在元素,但selenium无法插入该元素,有2种方法可以解决此问题1.尝试页面刷新(driver.navigate().refresh();)2.只使用循环元素,直到单击该元素

 类似资料: