簡體   English   中英

如何在量角器中選擇具有相同類名的第二個對象的第二個元素

[英]how to select second object's second element with same classname in protractor

HTML代碼段在這里

使用量角器,在編寫以下代碼時,只能從第一個匹配類中選擇第三個元素

var items = element(by.css('.swatches.swatches_size.swatches_find-box')).all(by.tagName('label'));
items.get(2).click();

從第二個匹配類中選擇第二個元素的方式是什么?

該代碼段位於附件中

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

您可以只鏈接 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)")

感謝您的答復。 這是我選擇第二個匹配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();
          }
        });
      });

取而代之的.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();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM