【问题标题】:how to perform "scroll up" in nightwatch.js如何在 nightwatch.js 中执行“向上滚动”
【发布时间】:2020-12-12 02:11:20
【问题描述】:

我正在尝试“向上​​滚动”以执行 e2e 测试。但是任何可用的 API 都会出现以下错误:

运行 .clickElement() 协议操作时出错:发生未知错误 - 元素点击被拦截:

经过进一步的故障排除后,我发现如果页面的条目数较少,则可以正常工作。但是如果需要“向上滚动”然后单击按钮,则会失败。

我已经尝试过的操作如下:

  1. 尝试使用 moveToElement() & then click() & mouseButtonClick() 但收到相同的错误。 this.waitForElementVisible("@selector")this.api.moveToElement("@selector",10,10).mouseButtonClick(0)

2. 尝试使用单独的 JavaScript 执行器,但其获取元素不可点击。代码片段: this.api.execute(function (selector) {document.querySelector(selector).click();}, ['selector'])

请告诉我是否有任何特定的方法/javascript执行器方法可以在夜间执行滚动

【问题讨论】:

    标签: javascript typescript nightwatch.js


    【解决方案1】:

    我使用 API 中的 execute 方法,然后使用 Window 对象和 scrollTo 方法,如下所示:

    browser.execute(function(data) {
                window.scrollTo(0, 0);
            });
    

    您可以使用 API 中的 getLocation 方法来获取特定元素的 x,y 坐标,这些坐标从该方法作为 JSON 对象返回,或者您可以对坐标进行硬编码。这是 API 链接:getLocation method documentation

    【讨论】:

      猜你喜欢
      • 2019-01-03
      • 1970-01-01
      • 2019-04-23
      • 2019-12-24
      • 2018-12-03
      • 2019-06-30
      • 2018-07-08
      • 2015-11-17
      • 1970-01-01
      相关资源
      最近更新 更多