量角器中的计数()与长度
根据文档,有两种方法可以获取 ElementArrayFinder
中有多少元素(element.all()
调用的结果):
$$(".myclass").length
,记录在 这里:
...数组的length
等于ElementArrayFinder
找到的元素的length
,每个结果代表执行的结果对元素的操作.
$$(".myclass").count()
,记录在 这里:
计算ElementArrayFinder
所代表的元素个数.
这两种方法有什么区别,应该首选哪一种?
解决方案$$(".myclass").length
需要解决 promise 以正确获取元素的长度.
//工作$$(".myclass").then(function(items){项目长度;});//不工作$$(".myclass").length;
<小时>
$$(".myclass").count()
$$('.myclass').length
的包装器,它本身就是一个 Promise,不需要像 .length
那样解析 Promise
$$(".myclass").count();
<小时><块引用>
应该首选哪一个?
除非在定位$$(".myclass")
和.then(function(items){...})
时涉及到一些复杂的业务,那么items.length
将提供更好的性能.
否则 $$(".myclass").count()
应始终使用.
According to the documentation, there are 2 ways to get how many elements are inside the ElementArrayFinder
(the result of element.all()
call):
$$(".myclass").length
, documented here:
...the array has
length
equal to thelength
of the elements found by theElementArrayFinder
and each result represents the result of performing the action on the element.
$$(".myclass").count()
, documented here:
Count the number of elements represented by the
ElementArrayFinder
.
What is the difference between these two methods and which one should be preferred?
解决方案$$(".myclass").length
Need to resolve the promise to get the length of element correctly.
// WORK
$$(".myclass").then(function(items){
items.length;
});
// DOES NOT WORK
$$(".myclass").length;
$$(".myclass").count()
A wrapper for $$('.myclass').length
which being a promise itself and doesn't require to resolve promise like .length
$$(".myclass").count();
which one should be preferred?
Unless there some complex business when locating $$(".myclass")
and .then(function(items){...})
involved then items.length
will give better performance.
Otherwise $$(".myclass").count()
should always be used.
相关文章