Javascript 计数器()与量角器中的长度

Javascript 计数器()与量角器中的长度,javascript,angularjs,selenium,selenium-webdriver,protractor,Javascript,Angularjs,Selenium,Selenium Webdriver,Protractor,根据文档,有两种方法可以获取ElementArrayFinder中的元素数量(调用element.all()的结果): $$(“.myclass”)。长度,记录如下: …数组的length等于ElementArrayFinder找到的元素的length,每个结果表示对元素执行操作的结果 $$(“.myclass”).count(),记录如下: 计算ElementArrayFinder表示的元素数 这两种方法的区别是什么?应该首选哪种方法? $$(“.myclass”).length 需要

根据文档,有两种方法可以获取
ElementArrayFinder
中的元素数量(调用
element.all()
的结果):

  • $$(“.myclass”)。长度
    ,记录如下:
…数组的
length
等于
ElementArrayFinder
找到的元素的
length
,每个结果表示对元素执行操作的结果

  • $$(“.myclass”).count()
    ,记录如下:
计算
ElementArrayFinder
表示的元素数

这两种方法的区别是什么?应该首选哪种方法?


$$(“.myclass”).length
需要解决承诺以正确获得元素的长度

//工作
$$(“.myclass”)。然后(函数(项){
项目.长度;
});
//不起作用
$$(“.myclass”)。长度;

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


哪一个应该优先

除非在定位
$$(“.myclass”)
时涉及到一些复杂的业务,然后(函数(项){…})
涉及
项。长度
将提供更好的性能


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

长度未列为ElementArrayFinder上的方法。它在描述和示例中,但不在方法列表中。。。伯爵答应了。我想他们改变了。但为什么ElementArrayFinder上仍然可以使用长度?
$$(".myclass").count();