我试图从日期选择器。继选择日期代码如何在尝试从日期选择器中选择日期时修复“陈旧的元素引用异常”?
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