2016-05-30 61 views

回答

0

在其element.all(by.css('.swatches.swatches_size.swatches_find-box')).each(function (element, index) {

+2

说明你所做的更改和修复你应用。仅仅发布代码是不够的。 – Bassem

0

你可以element()all()

$$('.swatches.swatches_size.swatches_find-box').get(1).all(by.tagName("label")).get(1); 

其中$$是一个捷径element.all(by.css("..."))


或者,另一种方法是用nth-of-typenth-child伪类的帮助下使用一个CSS选择器:

$(".swatches.swatches_size.swatches_find-box:nth-of-type(1) label:nth-child(1)") 
0

感谢您的答复。这是我做选择第二匹配DIV的第三个要素:

element.all(by.css('.swatches.swatches_size.swatches_find-box label')). 
     each(function(element, index) { 
     element.getText().then(function(text) { 
      if (text === waist) { 
      element.click(); 
      } 
      if (text === length) { 
      element.click(); 
      } 
     }); 
     }); 
0

相反的.get(1).get(2).get(3),等等。现在你可以使用更可读的功能,如.second().third().fourth()等等 - 我开发了一个小包装 - https://github.com/Marketionist/protractor-numerator - 可以与量角器一起使用来选择第二,第三,第四等元素。

因此,适用于你的情况(选择从第二匹配类的第二个元素),这将是更具可读性和看起来像这样:

var itemSecond = element.all(by.css('.swatches.swatches_size.swatches_find-box')).second().all(by.tagName('label')).second(); 
itemSecond.click(); 
相关问题