【发布时间】:2017-05-04 15:55:24
【问题描述】:
这是一个代码片段:
System.setProperty(Constants.WEBDRIVER_CHROME_DRIVER_PROP, Constants.WEBDRIVER_CHROME_DRIVER_PATH);
m_chromeWebdriver = new ChromeDriver();
m_chromeWebdriver.get("mysite.org");
WebElement arrowElement = m_chromeWebdriver.findElement(By.cssSelector(_ARROW_NEXT_DAY));
arrowElement.click();
WebElement elmMainTable = m_chromeWebdriver.findElement(By.className("table-main"));
List<WebElement> allRows = elmMainTable.findElements(By.tagName("tr"));
for (WebElement row : allRows) {
List<WebElement> cells = row.findElements(By.tagName("td"));
for (WebElement cell : cells) {
System.out.println(cell.getText());
}
}
m_chromeWebdriver.quit();
在最后一行我得到一个
"过时的元素引用:元素未附加到页面 文件”
异常。
为什么以及如何解决这个问题?
我使用 Chromdriver 2.2.9。
【问题讨论】:
-
您正在通过循环迭代列表元素。对吗?
-
elmNextDayArrow.click();这行是做什么的? -
@NarendraRajput 我想...
-
请修正您的代码并提供minimal reproducible example,以便我们为您提供帮助。
-
@kushal。 - 单击元素...这不太重要...它有效。问题出在最后一行。
标签: java selenium selenium-chromedriver