Geo*_*rgy 4 javascript selenium protractor
问题非常类似于这个"为定位器找到多个元素"的警告:我有ng-repeat,在里面我有两个divs,ng-if在它们上面,所以只显示了一个div.每个div人ng-repeat都有同等的水平login__cell-link.
我需要在这个divs中检查值,所以我选择使用它们的块
element.all(by.repeater('item in array')).then( allElements => {
allElements[i].element(by.className('login__cell-link')).getText();
});
Run Code Online (Sandbox Code Playgroud)
问题是警告:
警告 - 为定位器By(css选择器,.login__cell-link)找到多个元素 - 将使用第一个结果
这个答案/sf/answers/1992536661/说使用:element.all(by.css("ul.nav button")).first()
但我得到错误:
[TypeError:allElements [i] .element.all不是函数]
我怎么能连锁element和element.all,或是否有更好的解决方案,以检查一个div在这种情况下?谢谢.
ale*_*cxe 10
在链接时.all()不要使用.element.all():
allElements[i].all(by.className('login__cell-link')).first().getText();
Run Code Online (Sandbox Code Playgroud)
顺便说一句,您不需要在此明确解决承诺,并且可以将其链接到所有方式:
element
.all(by.repeater('item in array'))
.get(i)
.all(by.className('login__cell-link'))
.first()
.getText();
Run Code Online (Sandbox Code Playgroud)
无耻的自我推销:如果你要及早发现这种错误,你可以使用ESLint静态代码分析工具一起eslint-plugin-protractor的correct-chaining统治.
| 归档时间: |
|
| 查看次数: |
2797 次 |
| 最近记录: |