量角器中的计数()与长度
根据文档,有两种方法可以获取 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
lengthequal to thelengthof the elements found by theElementArrayFinderand 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.
相关文章