Hello StackOverflow社区。 p>
我创建了两个函数,以在日历上设置年份(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
})
})
}
我希望获得一些帮助,如何使用shadowroot函数中确定的calendarYear。在我分离它们之前,shadowroot函数位于'giveDateVopThroughCalendar'的代码块中。它确实获得了正确的值,但是我不能在if语句中使用它(返回未定义)。
提前谢谢!