如何使用 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])
我正在尝试向下滚动并将元素带到浏览器的视点。它位于页面底部,除非向下滚动才能看到。
借助 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])