在Protractor中等待forelementstobepresent
waitForElementsToBePresent in Protractor
我在网上找到了这一小段代码,它可以很好地等待一个唯一标识符加载到页面上,然后再与之交互。
this.waitForElementToBePresent = function(element) {
browser.wait(function() {
return element.isPresent();
}, 60000);
};
我是新的JS和量角器。我想知道如何将这段代码更改为等待存在多个元素的元素。我知道你使用$$作为标识符时,有多个,但我怎么能改变这个方法来识别,所以我要做这样的…
utility.waitForElementsToBePresent(myElement).get(0);
看看Alecxe对这个问题的回答。我已经用了一段时间了,效果很好。下面是我稍作修改的版本:
// wait for X number of elements
presenceOfAll = function (elem, num, timeout) {
var time = timeout || 5000;
console.log('Waiting for elements ' + elem.locator() + ' to have a count of ' + num);
return browser.wait(function () {
return elem.count().then(function (count) {
return count >= num;
});
}, time, 'Failed waiting for ' + elem.locator() + ' to have ' + num + ' total items');
};
比起创建一个新函数,我可能只是在组中最后一个元素,然后等待它。
var els = elements.all(by.css("#id"));
waitForElementToBePresent(els.last());
要记住有"isPresent"answers"isdisplay",present表示元素存在于页面上,可见或不可见。如果您想等待它实际显示在页面上,首先等待它出现,然后等待它显示。
http://www.protractortest.org//api ?视图= ElementArrayFinder.prototype.last
相关文章:
- 没有找到相关文章