Selenium Webdriver + java。 我的代碼:Selenium Webdriver。錯誤'org.openqa.selenium.StaleElementReferenceException:元素不再有效'
public List<UserData> getUsers() {
List<UserData> users = new ArrayList<UserData>();
WebElement userList = driver.findElement(By.id("Users"));
isElementDisplayed(By.xpath("//table[@id='Users']/*/tr[position() > 1]"), 10);
List<WebElement> tableRows = driver.findElements(By.xpath("//table[@id='Users']/*/tr[position() > 1]"));
for (WebElement tableRow : tableRows) {
List<WebElement> cells = tableRow.findElements(By.tagName("td"));
UserData user = new UserData();
user.fio = cells.get(2).getText();
user.login = cells.get(3).getText();
user.rank = cells.get(4).getText();
user.cabinet = cells.get(5).getText();
users.add(user);
}
return users;
}
後,我從表中刪除用戶,方法拋出:
org.openqa.selenium.StaleElementReferenceException:元素沒有 不再有效
here:
List<WebElement> tableRows = driver.findElements(By.xpath("//table[@id='Users']/*/tr[position() > 1]"));
如何解決此錯誤,而無需刷新頁面?
請注意! 這不是
Element is no longer attached to the DOM
錯誤
函數'isElementDisplayed(by,int)'在做什麼? – n1r3
我有一種感覺,錯誤與您在代碼中指定的那個行上面的行有關,您在其中調用'isElementDisplayed'。請提供此方法的代碼。 –