异常:org.openqa.selenium.StaleElement引用异常:stale元素引用:元素未附加到页面文档

异常:org.openqa.selenium.StaleElement引用异常:stale元素引用:元素未附加到页面文档,selenium,selenium-webdriver,xpath,dialog,alert,Selenium,Selenium Webdriver,Xpath,Dialog,Alert,当我尝试检查是否显示警报时,它会显示陈旧元素引用异常。 我使用了以下所有技术来处理警报对话框,但它显示了一个异常 执行人 机器人类 WebDriver等待 .click()方法 动作类 当我手动检查时,所有元素都存在。当我自动化它时,它会显示一个异常。。。 但我不知道它发生在哪里??!!。。。 步骤定义代码: (在此代码中,我使用的是Action类) 运行程序文件代码 public void actionClick(WebDriver driver, WebElement a) { A

当我尝试检查是否显示警报时,它会显示陈旧元素引用异常。 我使用了以下所有技术来处理警报对话框,但它显示了一个异常

  • 执行人
  • 机器人类
  • WebDriver等待
  • .click()方法
  • 动作类
  • 当我手动检查时,所有元素都存在。当我自动化它时,它会显示一个异常。。。 但我不知道它发生在哪里??!!。。。

    步骤定义代码:

    (在此代码中,我使用的是Action类)

    运行程序文件代码

    public void actionClick(WebDriver driver, WebElement a) {
        Actions action = new Actions(driver);
        action.moveToElement(a).click().build().perform();
    }
    

    单击“立即登录”(x)元素的移动将刷新对x&y的引用。因此,不能使用指向旧引用的x&y,这将导致Statle元素异常

    解决方案是每次单击x&y键时获取元素,以便获得对元素的最新引用

    public void actionClick(WebDriver driver, WebElement a) {
        Actions action = new Actions(driver);
        action.moveToElement(a).click().build().perform();
    }