Hello StackOverflow community.
Я создал две функции, чтобы установить год в календаре (calendarYear) и использовать его для вычитания года из testData для перемещения по календарю.
Элемент в тени найден, и текст (год) превращается в целое число.Я возвращаю переменную calendarYear.
Вот мой код:
giveDateVopThroughCalendar: function (browser, ms, year, month) {
var calendar = browser.page.pensionplanner.agePensionWorkCalendar()
var calendarFunctions = browser.page.pensionplanner.agePensionWorkCalendarFunctions()
browser.execute('scrollTo(0,500)')
calendar.clickOpenCalendar(browser, ms) // this works!
console.log(year)
var calendarYear = calendarFunctions.determineCalendarYear(browser, ms)
console.log(calendarYear)
if (!calendarYear === year) {
console.log('var i')
var i = calendarYear - year
switch (i) {
case 'i > 0': while (i > 0) {
calendar.clickCalendarPreviousYear(browser, ms)
i = i--
console.log('Year lowered by 1')
}
break
case 'i < 0': while (i < 0) {
calendar.clickCalendarNextYear(browser, ms)
i = i++
console.log('Year increased by 1')
}
break
default: console.log('Correct year was already selected.')
}
calendarFunctions.clickOnGivenMonth(browser, ms, month) // this works!
}
},
determineCalendarYear: function (browser, ms) {
browser.waitForShadowRoot(`p-age-picker div p-calendar .year-title.style-scope.p-calendar`, ms, function (element) {
browser.elementIdText(element, function (textResult) {
var calendarYear = parseInt(textResult.value) // this works!
console.log(`determine calendar year: ${calendarYear}`)
return calendarYear
})
})
}
Я хотел бы получить некоторую помощь, как я могу использовать calendarYear, определенный в функции shadowroot.До того, как я разделил их, функция shadowroot находилась в блоке кода файла giveDateVopThroughCalendar.Он получает правильное значение, но я не могу использовать его в операторе if (возвращает неопределенное значение).
Заранее спасибо!