2016-01-15 17 views
0

我可以從日期選擇器中選擇日期,日期和年份,但是在選擇之後,頁面會刷新,並且Webdriver元素將被分離並獲取StaleElementReferenceException。我不理解如何構建對象實例作爲日期選擇器,它不能再次單擊。Datepicker中的StaleElementReferenceException

回答

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){ 

       } 

問題是在選擇正確的日期後,我得到了一個警告框,並且處理得很完美。但是在警告框之後,頁面被刷新,並且硒在刷新頁面時識別什麼是單元格(WebElement)時遇到問題。不理解如何重新實例化WebElement單元格。

相關問題