Javascript 量角器js中的for循环
我有一个场景,其中存在具有classnameJavascript 量角器js中的for循环,javascript,angularjs,protractor,angularjs-e2e,Javascript,Angularjs,Protractor,Angularjs E2e,我有一个场景,其中存在具有classname的重复元素。product tile,我试图通过该类名获取元素,并循环遍历每个元素,找到标题为Products的元素 如果是这样的话,我会尝试单击apt add to cart按钮,但这里的代码不会循环 var products = element.all(by.css('.product-tile')); for (var i = 0; i < products.length; i++) { console.log(i
的重复元素。product tile
,我试图通过该类名获取元素,并循环遍历每个元素,找到标题为Products
的元素
如果是这样的话,我会尝试单击apt add to cart按钮
,但这里的代码不会循环
var products = element.all(by.css('.product-tile'));
for (var i = 0; i < products.length; i++) {
console.log(i);
var product = products.get(0);
if (product.element(by.css('.productName .title')).getText() === 'Products') {
product.element(by.css('apt-add-to-cart-button')).click();
}
}
var-products=element.all(by.css('.product-tile');
对于(变量i=0;i
html:
任何帮助都将不胜感激。请通读,因为getText()
返回一个需要解决的承诺
你可能需要这样的东西
var products = element.all(by.css('.product-tile.ng-scope'));
for (var i = 0; i <= products.length; i++) {
console.log(i);
var product = products.get(0);
if (product.element(by.css('.productName .title')).getText().then(function(returnText){
if(returnText==='Products'){
product.element(by.css('apt-add-to-cart-button')).click();
}else{
console.log('Something happened');
}
});
}
var products=element.all(by.css('.product tile.ng scope');
对于(var i=0;i实际上,重复选择器应该解析为如下所示的承诺
element.all(by.css('.product-tile.ng-scope')).then(function(items){
console.log(items.length); //will get the length here
// do the stuff here
});
您不能以这种方式使用getText()
。getText()
需要解析承诺,然后才能使用。另外,如果发生任何错误,请说明。@demouser123没有任何错误我没有得到console.log(i)输出请在问题正文中添加相关HTML。相同的结果..products.length在我打开控制台时显示为未定义。