2016-05-30 65 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(); 
相關問題