Обработка календаря для выбора даты с текущей даты в календаре? Selenium

#java #selenium #selenium-webdriver #automation #automated-tests

#java #selenium #selenium-webdriver #автоматизация #автоматизированные тесты

Вопрос:

Я работаю на сайте MakeMyTrip для обработки календаря. После выбора даты с даты я хочу выбрать дату через 7 или 8 дней с выбранной даты с..

Ссылка:https://www.makemytrip.com /

Я могу выбрать текущую дату, используя имя класса, которое имеет today

Я не знаю, как обрабатывать выбор даты до, например, через n дней после даты с

HTML-код: введите описание изображения здесь

 @FindBy(how = How.XPATH,using = "//div[@class = 'DayPicker-Month'][1]//div[@class='DayPicker-Body']//div[contains(@class,'DayPicker-Day')]")
List<WebElement> DepartureDateList;

//Selecting Departure Date
public void selectDepartureDate() {

    for ( WebElement date : DepartureDateList) {

        if (date.getAttribute("class").contains("--today")) {

            date.click();
            break;

        }
  

Комментарии:

1. Какую дату вы хотите выбрать?

2. Хотите выбрать 7 дней после текущей даты!

Ответ №1:

Вот простое решение.

Сначала получите n-й день, используя приведенный ниже код.

     int numberOfDays = 7;
    DateFormat dateFormat = new SimpleDateFormat("MMM dd yyyy");
    Calendar cal = Calendar.getInstance();
    cal.add(Calendar.DATE, numberOfDays);
    String toDate = dateFormat.format(cal.getTime());
    System.out.println(toDate);
  

Затем выберите данные в календаре, используя приведенный ниже xpath.

 String toDateXpath = "//div[@class='DayPicker-Day' and contains(@aria-label,'"   toDate   "')]"
driver.findElement(By.xpath(toDateXpath)).click();