我正在尝试向下滚动并将元素带到浏览器的视点。它位于页面底部,除非向下滚动,否则不可见。
在这个 Stackoverflow 帖子的帮助下,我能够获得元素的x and y
,但无法将其带到视点。
browser.getLocationInView('#element', function (result){
console.log ('x: '+ result.value.x);
console.log ('y: '+ result.value.y);
})
这给了我 x:16, y: 519
之后我尝试了
browser.execute('scrollTo(16, 519)')
这不会将其滚动到视点。有什么方法可以做到这一点?
好吧,也许我没有以正确的方式理解这些 API 的使用。
如果您必须将元素滚动到视口中,有些 Nightwatch API 可以正常工作。
moveToElement
始终是我的首选,因为它将元素选择器作为参数并将元素带到视口的顶部。
如果您必须使用元素的位置,moveTo
是一个不错的选择。文档可在此处获得。
下面是语法。
.moveToElement(selector, xoffset, yoffset, [callback])
.moveToElement(using, selector, xoffset, yoffset, [callback])
.moveTo([webElementId], xoffset, yoffset, [callback])
.moveTo(null, xoffset, yoffset, [callback])