【问题标题】:scroll to first ng-repeat element in protractor and click滚动到量角器中的第一个 ng-repeat 元素并单击
【发布时间】:2017-12-26 07:05:01
【问题描述】:

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

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

代码

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

【问题讨论】:

    标签: protractor


    【解决方案1】:

    您应该能够使用两种方式滚动它,两种方式都是简单的 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());
    

    【讨论】:

      猜你喜欢
      • 2023-03-30
      • 2018-08-25
      • 2023-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多