条件に一致するElementArrayFinderから最初の要素を取得します。次のコードは、私が期待している要素を私に提供しますが、時間がかかるすべての要素を通過します。分度器は、ElementArrayFinderから単一の要素を取得します。
これにはどのような方法がありますか?
return content.all(by.css('.class')).filter(function(label){
return label.getText().then(function(text){
return text === searchName;
});
}).first();
結論:Sudharsan Selvarajによって提供さ 回答魅力要素
Florent B.が提供する答えはまた、問題を解決し、はるかに簡単なように見えるの検索大幅に時間を短縮
var ele = content.all(by.xpath(".//*[contains(@class,'class')][normalize-space(text())='some-value']")).first()
として働いていましたアプローチ。あなたが直接、ラベルの最初の要素にアクセスしないのはなぜ
return content.element(by.cssContainingText('.class', searchName));
それはできるだけ多くの結果を引っ張っていないので、あなたはより具体的なロケータを試みることができます。 – Gunderson
結果が表になっていますが、私はここでより具体的に考えることはできません。いくつかの動作はArray.prototype.someと似ていますが、分度器のコンテキストでどのように適用するのか分かりません。 @Gunderson – taguenizy