是否可以将 element.all(....)
的结果返回的 ElementArrayFinder
转换为通用数组?
目标是将元素存储在数组中,并使用 push()
从另一个 element.all()
的结果中添加更多元素。
最佳答案
您可以扩展 ElementArrayFinder
并添加一个 extend()
方法来连接两个数组查找器的内部 Web 元素数组:
protractor.ElementArrayFinder.prototype.extend = function(finder) {
var self = this;
var getWebElements = function() {
return self.getWebElements().then(function(parentWebElements) {
return finder.getWebElements().then(function(newWebElements) {
return parentWebElements.concat(newWebElements);
});
});
};
return new protractor.ElementArrayFinder(this.browser_, getWebElements, this.locator_);
};
用法:
var arr1 = $$(".myclass");
var arr2 = $$(".someotherclass");
var newArr = arr1.extend(arr2);
expect(newArr.getText()).toEqual(["text1", "text2", "text3"]);
经过测试,在一个简单的测试用例中对我有用。
关于javascript - Protractor :ElementArrayFinder 到通用数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39131398/