我正在尝试实现一个允许以同步方式从元素中检索text属性的简单函数,但我似乎无法使wait函数按预期工作:
webdriver.WebDriver.prototype.getTextSync = function (element, timeout) {
var text;
var deferred = webdriver.promise.defer();
element.getText().then(function (t) {
console.log('got text = ' + t);
text = t;
deferred.fulfill();
});
this.wait(deferred.promise, timeout || 1000);
console.log('return = ' + text);
return text;
};
在测试函数时,我得到以下输出,表明等待实际上并没有等待履行承诺:
return = undefined
got text = <something>