我试图从选择日期日期选择器.继是代码
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();
}
}
Run Code Online (Sandbox Code Playgroud)
}
使用上面的代码,我在这行代码中得到了陈旧的元素引用异常
"if(date.equals(td.getText())) {"
Run Code Online (Sandbox Code Playgroud)
所以我已将代码更改为此
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++;
}
}
Run Code Online (Sandbox Code Playgroud)
现在我可以选择日期.但是脚本仍然抛出过时的元素引用异常.脚本现在在此行显示错误
List<WebElement> tds=tr.findElements(By.tagName("td"));
Run Code Online (Sandbox Code Playgroud)
我正在研究过去3天.关于如何解决这个问题的任何建议.提前致谢