日期选择器-SeleniumWebDriverJava

日期选择器-SeleniumWebDriverJava,java,selenium,selenium-webdriver,Java,Selenium,Selenium Webdriver,我正在尝试创建一个方法来单击特定日期,它基于我只想在方法中传递日期、月份和年份作为参数的月份和年份 我也在网上搜索,但我没有找到我的问题的答案 下面是我的方法和我的测试示例应用程序url 我使用的网址: 我的做法: 实际上,您不需要直接操作日期选择器。您可以直接在输入字段中键入日期字符串。它必须采用正确的格式,例如: WebElement dateInput = driver.findElement(By.id("DepartDate")); dateInput.sendKeys("Sat, 6

我正在尝试创建一个方法来单击特定日期,它基于我只想在方法中传递日期、月份和年份作为参数的月份和年份

我也在网上搜索,但我没有找到我的问题的答案

下面是我的方法和我的测试示例应用程序url

我使用的网址:

我的做法:


实际上,您不需要直接操作日期选择器。您可以直接在输入字段中键入日期字符串。它必须采用正确的格式,例如:

WebElement dateInput = driver.findElement(By.id("DepartDate"));
dateInput.sendKeys("Sat, 6 Jun, 2015");

现在,您需要输入并使用参数。

此代码可能会有所帮助

            try{
                      WebElement dateWidget = driver.findElement(By.xpath(OR.getProperty(object))); 
                      List<WebElement> rows = dateWidget.findElements(By.tagName("tr"));  
                      List<WebElement> columns = dateWidget.findElements(By.tagName("td"));  
                      for (WebElement cell: columns){
                           if (cell.getText().equals(data))
                              {
                                  cell.findElement(By.linkText(data)).click();
                      break; 
                      }
                  }
               }catch(Exception e){
        return Constants.KEYWORD_FAIL+" -- Not able to select the date"+e.getMessage(); 
}

哇,回答得很好。我用了你的样品,效果很好。但在另一种情况下,我想通过单击日期来选择日期。我不想输入日期。你能告诉我怎么做吗?@forumqaa谢谢,这是约会吗?我问这个问题的原因是,我试图确定是否有必要年复一年、月复一月地来回。是的,年复一年、月复一月是必要的。我想创建一个将日期、月份和年份作为参数传递的方法。请参见上面我的方法,但我无法基于给定的日期、月份和年份单击特定的日期。最后,我将在另一个类中调用此方法,并在该方法中传递日期、月份和年份。我无法更新您的答案,因为我没有分数,我将很快获得这些分数,我将更新投票。您是否正在为日期控件本身编写测试。否则,只在文本字段中设置日期是实用的。您可以将传递的参数转换为可接受的字符串。
            try{
                      WebElement dateWidget = driver.findElement(By.xpath(OR.getProperty(object))); 
                      List<WebElement> rows = dateWidget.findElements(By.tagName("tr"));  
                      List<WebElement> columns = dateWidget.findElements(By.tagName("td"));  
                      for (WebElement cell: columns){
                           if (cell.getText().equals(data))
                              {
                                  cell.findElement(By.linkText(data)).click();
                      break; 
                      }
                  }
               }catch(Exception e){
        return Constants.KEYWORD_FAIL+" -- Not able to select the date"+e.getMessage(); 
}