我可以从日期选择器中选择日期,日期和年份,但是在选择之后,页面将被刷新并且Webdriver元素被分离并获得StaleElementReferenceException。我不了解如何构建对象实例作为日期选择器,它不能再次单击。
答案 0 :(得分:0)
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){
}
问题是在选择了正确的日期之后,我得到了一个警报框,而且处理得非常完美。但是在警告框之后,页面被刷新,并且当页面被刷新时,selenium在识别什么是单元格(WebElement)方面存在问题。不了解如何重新实例化WebElement单元格。