滚动到量角器中的第一个ng-repeat元素,然后单击

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了滚动到量角器中的第一个ng-repeat元素,然后单击相关的知识,希望对你有一定的参考价值。

滚动位于页面底部,当我尝试单击第一个元素时它显示此错误:

错误:ElementNotVisibleError:元素不可见(会话信息:chrome = 63.0.3239.84)(驱动程序信息:chromedriver = 2.34.522913(36222509aa6e819815938cbf2709b4849735537c),platform = Linux 3.13.0-137-generic x86_64)

Code

element(by.repeater('item in arr').row(1)).click();
答案

您应该能够使用两种方式滚动它,它们都只是javascript,通过量角器方法browser.executeScript,您可以执行它们,然后继续使用您的量角器代码。

要小心,因为所有的量角器方法,即使executeScript返回一个承诺,所以链接它正确。

我个人更喜欢的一般解决方案是使用scrollIntoView()方法。

browser.executeScript('document.querySelector("a selector of your element or of your ng-repeater block or whatever identifies your element").scrollIntoView()').then(() => element(by.repeater('item in arr').row(1)).click());

您的特定解决方案(即滚动到页面顶部)是scrollTo()方法。

browser.executeScript('window.scrollTo(0, 0);').then(() => element(by.repeater('item in arr').row(1)).click());

以上是关于滚动到量角器中的第一个ng-repeat元素,然后单击的主要内容,如果未能解决你的问题,请参考以下文章

如何选择使用ng-repeat实现的下拉元素

量角器 - 获取元素的子元素?

检测指令中的 ng-repeat 元素长度变化

如何使用量角器定位器找到子元素?

量角器:向下滚动

量角器 - 其他元素将收到点击