#java #selenium #selenium-webdriver #automation #automated-tests
#java #selenium #selenium-webdriver #автоматизация #автоматизированные тесты
Вопрос:
Я работаю на сайте MakeMyTrip для обработки календаря. После выбора даты с даты я хочу выбрать дату через 7 или 8 дней с выбранной даты с..
Ссылка:https://www.makemytrip.com /
Я могу выбрать текущую дату, используя имя класса, которое имеет today
Я не знаю, как обрабатывать выбор даты до, например, через n дней после даты с
@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();