【问题标题】:StaleElementReferenceException: Element is no longer attached to the DOMStaleElementReferenceException:元素不再附加到 DOM
【发布时间】:2015-10-01 21:45:59
【问题描述】:

我在 Java 中的 Selenium 存在以下问题。它会生成错误,即元素不再附加到 DOM (org.openqa.selenium.StaleElementReferenceException)。我找到了一些等待的解决方案,但它们不起作用(wait.driver、Thread.sleep)。

我尝试过下面的代码,但它不起作用:

wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath(xpath1)));
driver.findElement(By.xpath(xpath1)).clear();
driver.findElement(By.xpath(xpath1)).sendKeys("A");
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath(xpath2)));
driver.findElement(By.xpath(xpath2)).clear();
driver.findElement(By.xpath(xpath2)).sendKeys("B");

如何在 Selenium WebDriver 中使用 Java 解决这个问题?将不胜感激。

【问题讨论】:

  • 对于哪个元素你会得到那个异常?
  • 有时是第一行,有时是第 4 行。
  • 请在问题中发布您的 HTML 并正确格式化。这将使查找和阅读变得更容易。
  • 这里:link

标签: java selenium


【解决方案1】:

我设法解决了,但它不是太漂亮的解决方案:

wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath(xpath1)));
driver.findElement(By.xpath(xpath1)).clear();
Thread.sleep(1000);
driver.findElement(By.xpath(xpath1)).sendKeys("A");
Thread.sleep(1000);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath(xpath2)));
driver.findElement(By.xpath(xpath2)).clear();
Thread.sleep(1000);
driver.findElement(By.xpath(xpath2)).sendKeys("B");

我认为页面很慢,可能是数据库操作很慢或类似的东西。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-17
    • 1970-01-01
    • 1970-01-01
    • 2014-07-15
    • 2014-06-06
    • 2014-10-05
    • 1970-01-01
    • 2021-08-05
    相关资源
    最近更新 更多