在nodejs中,我想点击元素,直到其他元素中的文字不等于'100'
我尝试编写这样的代码:
while (this.getLinkText() != '100') {
this.clickOnButton();
}
我不知道如何使用js selenium-webdriver这样做,因为当我尝试以这种方式获取元素的文本时
driver.findElement(By.xpath(this.path)).getText();
它返回'promise'而不是字符串,所以我不知道如何在while循环中使用它
答案 0 :(得分:0)
虽然循环是通往无处的道路,但尝试使用带回调的递归函数。 我有类似的问题,有必要在日历中选择年份(点击“下一步”,直到我有一个正确的年份)
var yearToFind = '2016';
function chooseYear(callback) {
// get current year from calendar
driver.findElement(webdriver.By.xpath('.//*[@class="ui-datepicker-year"]'))
.getText()
.then(function(currentYear) {
if (currentYear != yearToFind) {
// click "next year" button and call chooseYear function again
driver.findElement(webdriver.By.xpath('.//a[@class="ui-datepicker-next-year"]'))
.then(function(subelement) {
subelement.click().then(function() {
chooseYear(callback)
});
})
} else {
// do your actions if the year is correct
callback();
}
});
}
chooseYear(function() {
console.log('I have got the correct year finally!');
});