Обработка каландра для выбора на сегодняшний день с текущей даты в каландре?Селен - PullRequest
0 голосов
/ 23 апреля 2019

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

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

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

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

HTML код: enter image description here

@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 Ответ

1 голос
/ 02 мая 2019

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

Сначала получите 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();
...