在守夜有一個本地方法來獲取元素。 (在一般要素應始終滾動到從nightwatch /硒的看法,但如果你想這樣做手工,你可以使用getLocationInView():
return this.getLocationInView('#myElement')
.assert.visible('#myElement')
.click('#myElement')
Nightwatch還支持直接通過webdriver的協議使用moveTo()這樣做沒有任何抽象。在這種情況下,它看起來更像是:
const self = this;
return this.api.element('#myElement', (res) => {
self.api.moveTo(res.value.ELEMENT, 0, 0() => {
self.assert.visible('#myElement');
self.click('#myElement');
})
});
(這只是從我的頭頂上寫的,希望我沒有犯錯)
但是可能你的情況幫是改變seleniums在像config元素滾動行爲:
firefox: {
desiredCapabilities: {
browserName: 'firefox',
javascriptEnabled: true,
acceptSslCerts: true,
elementScrollBehavior: 1
}
}
默認值爲0 - >元素被滾動到頁面頂部
elementScrollBavior 1 - >元素被滾動到的底部
頁
執行這個JavaScript這將是有益的一提的是本機方法是http://nightwatchjs.org/api/moveTo.html –
@MikeDavlantes感謝您的輸入。我試圖擴展我的描述,希望我記得如何在夜間正確使用它:'D – TheBay0r