【发布时间】:2015-04-11 17:57:35
【问题描述】:
我正在尝试从 Datepicker 中选择日期。以下是代码
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++;
}
}
现在我可以选择日期了。但是脚本仍然抛出过时的元素引用异常。脚本现在在这一行显示错误
List<WebElement> tds=tr.findElements(By.tagName("td"));
过去 3 天我一直在处理这个问题。关于如何解决这个问题的任何建议。 提前致谢
【问题讨论】:
标签: selenium selenium-webdriver webdriver