Выбор даты в календарях на Nightwatch - PullRequest
0 голосов
/ 25 октября 2019

Я пытаюсь выбрать дату в своем календаре, и Nightwatch не может выбрать ее правильно.

Я пытаюсь сделать следующее:

document.querySelector("#calendario_inline > div > div > div > select.ui-datepicker-month")
    .click()
    .pause(100)
    .setValue('//*[@id="calendario_inline"]/div/div/div/select[1]', 'OUT')

document.querySelector("#calendario_inline > div > div > div > select.ui-datepicker-year")
    .click()
    .pause(100)
    .setValue('//*[@id="calendario_inline"]/div/div/div/select[2]', '2019')
    .pause(100)
    .click('//*[@id="calendario_inline"]/div/table/tbody/tr[3]/td[4]/a')
    .pause(1000)

Вотскрипка для моего календаря:

https://jsfiddle.net/dnj0zqa4/

1 Ответ

0 голосов
/ 05 ноября 2019

РЕДАКТИРОВАТЬ:

Кажется, календарь находится внутри iframe. Вы должны получить доступ к нему в первую очередь. Используйте это ::

client.element("css selector", "#editor > div.panel-v.right > div.panel-h.panel.resultsPanel > iframe", function(response) {
            client.frame({ELEMENT: response.value.ELEMENT});
        });

И после того, как вы закончите с календарем, выйдите из iframe с .frame(null)


Попробуйте это:

Для МЕСЯЦА, чтобы выбрать октябрь (значение 9):

client.useXpath().click('//select[@class="ui-datepicker-month"]/option[@value="9"]').useCss();

Для ГОДА выбрать 2019:

client.useXpath().click('//select[@class="ui-datepicker-year"]/option[@value="2019"]').useCss();
...