Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java datepicker中的StaleElementReferenceException_Java_Selenium Webdriver - Fatal编程技术网

Java datepicker中的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

我可以从日期选择器中选择日期、日期和年份,但选择后,页面将刷新,Webdriver元素将分离,并获取StaleElementReferenceException。我不明白如何将对象实例构建为日期选择器,不能再次单击

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单元格