如何使用 Nightwatchjs 将元素带到浏览器的视点

How to bring an element to the browser's viewpoint with Nightwatchjs

我正在尝试向下滚动并将元素带到浏览器的视点。它位于页面底部,除非向下滚动才能看到。

借助 Whosebug post 我能够获得元素的 x and y 但无法将其带到视点。

    browser.getLocationInView('#element', function (result){
        console.log ('x: '+ result.value.x);
        console.log ('y: '+ result.value.y);
    })

This gives me x: 16, y: 519

之后我尝试了

browser.execute('scrollTo(16, 519)')

这不会将其滚动到视点。有什么方法可以做到这一点?

嗯,也许我没有理解这些 api 的正确使用方法。

如果您必须将元素滚动到视口中,Nightwatch API 可以正常工作。

moveToElement 始终是我的第一选择,因为它将元素选择器作为参数并将元素置于视口顶部。

如果必须使用元素的位置,

moveTo 是一个不错的选择。文档可用 here.

语法如下。

.moveToElement(selector, xoffset, yoffset, [callback])
.moveToElement(using, selector, xoffset, yoffset, [callback])

.moveTo([webElementId], xoffset, yoffset, [callback])
.moveTo(null, xoffset, yoffset, [callback])