Перейти к содержимому

mr_d

Регистрация: 13 янв 2017
Offline Активность: 04 авг 2020 13:21
-----

Мои темы

Как получить элемент внутри элемента

02 мая 2020 - 15:02

Добрый день, коллеги!

 

В автоматизации новичок и вот уже несколько дней не удается реализовать свою задумку.  

На странице есть 2 поля для даты - для дат "от" и "до". При клике  - выпадает календарь (одновременно может быть виден только один). 

 

Создал для каждого календаря такие локаторы:

CALENDAR_FROM = (By.XPATH, "//input[@name='from']/../ul[@ng-change='dateSelection()']")
CALENDAR_TO = (By.XPATH, "//input[@name='to']/../ul[@ng-change='dateSelection()']")

По сути, эти 2 date picker отличаются только значением атрибута name в инпуте. Внутри все одинаково. 

Поэтому хочу реализовать следующее:

 

Открывать определенный календарь (будет отдельный метод открытия для каждого календаря). 

Выбирать дату в этом открытом календаре - универсальный метод.

 

Например, для выбора периода (месяц-год) внутри каждого календаря есть button:

CALENDAR_PERIOD = (By.XPATH, "//button/strong")

При клике на него, период из "месяц-год" меняется на "год".  

Items исходного календаря меняются из чисел месяца на месяцы года. 

 

Как сделать так, чтобы при поиске выбирался CALENDAR_PERIOD открытого календаря?

Т.е. мне нужен вложенный элемент видимого в данный момент элемента.