在Protractor中等待forelementstobepresent

waitForElementsToBePresent in Protractor

本文关键字:forelementstobepresent 等待 Protractor      更新时间:2023-09-26

我在网上找到了这一小段代码,它可以很好地等待一个唯一标识符加载到页面上,然后再与之交互。

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

相关文章:
  • 没有找到相关文章