Java datepicker中的StaleElementReferenceException
我可以从日期选择器中选择日期、日期和年份,但选择后,页面将刷新,Webdriver元素将分离,并获取StaleElementReferenceException。我不明白如何将对象实例构建为日期选择器,不能再次单击Java datepicker中的StaleElementReferenceException,java,selenium-webdriver,Java,Selenium Webdriver,我可以从日期选择器中选择日期、日期和年份,但选择后,页面将刷新,Webdriver元素将分离,并获取StaleElementReferenceException。我不明白如何将对象实例构建为日期选择器,不能再次单击 WebElement-dateWidget=getDriver().findElement(DATEPICKER\u小部件); WebElement dateWidget = getDriver().findElement(DATEPICKER_WIDGET); List&l
WebElement-dateWidget=getDriver().findElement(DATEPICKER\u小部件);
WebElement dateWidget = getDriver().findElement(DATEPICKER_WIDGET);
List<WebElement> rows = dateWidget.findElements(By.tagName("tr"));
for (WebElement row : rows) {
List<WebElement> columns = row.findElements(By.tagName("td"));
for (WebElement cell : columns) {
try{
if (cell.getText().equals(String.valueOf(calendar.get(Calendar.DATE)))) {
cell.findElement(By.linkText(String.valueOf(dayValue))).click();
boolean flag = commonpage.isAlertPresent();
if (flag == true) {
String text = commonpage.closeAlertAndGetItsText();
addScreenshot("Alert text: " + text);
}
break;
}}catch(StaleElementReferenceException e){
}
列表行=dateWidget.findElements(按.tagName(“tr”));
for(WebElement行:行){
列表列=行.findElements(按.tagName(“td”));
for(WebElement单元格:列){
试一试{
if(cell.getText().equals(String.valueOf(calendar.get(calendar.DATE))){
cell.findElement(By.linkText(String.valueOf(dayValue)))。单击();
布尔标志=commonpage.isAlertPresent();
如果(标志==真){
字符串文本=commonpage.closeAlertAndGetItsText();
添加屏幕截图(“警报文本:+文本”);
}
打破
}}捕获(StaleElementReferenceException e){
}
问题是在选择了正确的日期之后,我得到了一个警报框,而且处理得非常好。但是在警报框之后,页面被刷新,selenium在识别页面刷新时的单元格(WebElement)时遇到了问题。不理解如何重新实例化WebElement单元格