Javascript 如何链接'element'和'element.all`?
问题与此非常相似:我有Javascript 如何链接'element'和'element.all`?,javascript,selenium,protractor,Javascript,Selenium,Protractor,问题与此非常相似:我有ng repeat,其中有两个divs,上面有ng if,因此只显示一个div。ng repeat中的每个div具有相同的类login\u cell-link 我需要检查这个divs中的值,所以我使用 element.all(by.repeater('item in array')).then( allElements => { allElements[i].element(by.className('login__cell-link')).getText();
ng repeat
,其中有两个div
s,上面有ng if
,因此只显示一个div
。ng repeat
中的每个div
具有相同的类login\u cell-link
我需要检查这个div
s中的值,所以我使用
element.all(by.repeater('item in array')).then( allElements => {
allElements[i].element(by.className('login__cell-link')).getText();
});
问题是警告:
警告-通过(css选择器、.login\u cell-link)为定位器找到多个元素-将使用第一个结果
这个答案说使用:element.all(by.css(“ul.nav按钮”)).first()
但我得到了一个错误:
[TypeError:Allegements[i].element.all不是函数]
我如何链接元素
和元素。全部
,或者在这种情况下是否有更好的解决方案来检查一个div
?谢谢。链接时使用.all()
而不是.element.all()
:
allElements[i].all(by.className('login__cell-link')).first().getText();
顺便说一句,您不需要在这里明确地解决承诺,而且可以一路将其链接起来:
element
.all(by.repeater('item in array'))
.get(i)
.all(by.className('login__cell-link'))
.first()
.getText();
无耻的自我推销:如果你想尽早发现这种错误,你可以使用
ESLint
静态代码分析工具和ESLint插件量角器
。谢谢,它工作得很好。在最后一部分——在我的代码中,我有一个包装器函数和一个迭代器,用于检查allegents.length
divs,这只是代码的较小版本,这就是我以这种方式解析承诺的原因。再次感谢你的帮助!