我試圖從日期選擇器。繼選擇日期代碼如何在嘗試從日期選擇器中選擇日期時修復「陳舊的元素引用異常」?
WebDriver d=new FirefoxDriver();
Actions a=new Actions(d);
String date="14";
d.get("http://www.eyecon.ro/bootstrap-datepicker/");
d.findElement(By.cssSelector("div#dp3>span")).click();
List<WebElement> trs=d.findElements(By.cssSelector("div.datepicker-days>table>tbody>tr"));
for(WebElement tr:trs) {
List<WebElement> tds=tr.findElements(By.tagName("td"));
for(WebElement td:tds) {
if(date.equals(td.getText())) {
a.moveToElement(td).click().build().perform();
}
}
}
與上面的代碼我在這行代碼得到了陳舊的元素引用異常
"if(date.equals(td.getText())) {"
所以我改變了這個代碼
for(WebElement td:tds) {
while(i<4) {
try {
if(date.equals(td.getText())) {
a.moveToElement(td).click().build().perform();
}
break;
}catch(Exception ex) {
}
System.out.println(i);
i++;
}
}
現在我能夠選擇date.But腳本仍然拋出過時的元素引用exception.The腳本示值誤差在這條線現在
List<WebElement> tds=tr.findElements(By.tagName("td"));
我工作的這對過去3天內有關如何解決此問題的任何建議。 在此先感謝
的可能的複製[硒的webdriver如何解決陳舊元素參考例外?](http://stackoverflow.com/questions/16166261/selenium-webdriver-how-to-resolve-stale-element-reference-例外) – NarendraC 2016-07-15 11:10:15