Angularjs 量角器-滚动到无限滚动器的问题

Angularjs 量角器-滚动到无限滚动器的问题,angularjs,protractor,angularjs-e2e,e2e-testing,Angularjs,Protractor,Angularjs E2e,E2e Testing,我有一个量角器测试,在我的无限卷轴组件中寻找这样的记录 searchPage.searchEntitlement('search criteria'); var myHiddenElementInScroller = element(by.repeater('result in ctrl.results track by $index').row(12)); browser.driver.executeScript(function () { arguments[0].scro

我有一个量角器测试,在我的无限卷轴组件中寻找这样的记录

 searchPage.searchEntitlement('search criteria');
    var myHiddenElementInScroller = element(by.repeater('result in ctrl.results track by $index').row(12));
    browser.driver.executeScript(function () { arguments[0].scrollIntoView(); }, myHiddenElementInScroller .getWebElement());

myHiddenElementInScroller.click();
这应该滚动到元素并单击它。相反,它抛出了我元素不可见的错误


有人遇到过这种情况吗?非常感谢您的帮助。

您可能需要明确地等待滚动到视图的实际发生:

browser.driver.executeScript("arguments[0].scrollIntoView()", myHiddenElementInScroller.getWebElement()).then(function () {
    myHiddenElementInScroller.click();
});
或:


在少数情况下,我们正在寻找的元素将被来自DOM的其他元素覆盖。当量角器尝试单击它时,覆盖实际元素的元素将收到单击。因此,在这种情况下,您需要使用本机javascript单击事件。请看下面的代码

browser.executeScript("arguments[0].click()", myHiddenElementInScroller.getWebElement())
上面的代码将直接向提到的webElement发送一个click事件,即使它是否可见


注意:这不是单击图元的推荐方式。但是,在没有其他解决办法来实现单击事件的情况下,您可以这样做。

感谢所有的回复。我可以通过使用元素(by.CssContainingText(cssSelector,searchText))定位器来解决这个问题。

@G1P也请查看这个帖子,了解这个方法的优缺点:。@sudharshanalecxe,也尝试过这个方法,但是在无限滚动条中单击我的第12个元素没有成功。
browser.executeScript("arguments[0].click()", myHiddenElementInScroller.getWebElement())