量角器

时间:2016-01-11 02:15:19

标签: javascript angularjs selenium selenium-webdriver protractor

根据文档,有两种方法可以获取ElementArrayFinderelement.all()调用的结果)中有多少元素:

  • $$(".myclass").length,记录here
  

...数组的length等于length找到的元素的ElementArrayFinder,每个结果代表对元素执行操作的结果。

  • $$(".myclass").count(),记录here
  

计算ElementArrayFinder表示的元素数量。

这两种方法有什么区别,应该首选哪种方法?

1 个答案:

答案 0 :(得分:15)

$$(".myclass").length

需要解决正确获取元素长度的承诺。

// WORK
$$(".myclass").then(function(items){
  items.length;
});

// DOES NOT WORK
$$(".myclass").length; 

$$(".myclass").count()

$$('.myclass').length的包装器,它本身就是一个承诺,不需要像.length那样解决承诺

$$(".myclass").count(); 
  

应该首选哪一个?

除非在找到$$(".myclass").then(function(items){...})时遇到一些复杂的业务,否则items.length会提供更好的效果。

否则应始终使用$$(".myclass").count()