Protractor: Scroll down
You need to wait for the promise to be solved. The following example comes from an open issue
browser.executeScript('window.scrollTo(0,0);').then(function () { page.saveButton.click();})
Update:This is an old question (May of 2014), but still it is getting some visitors.To clarify: window.scrollTo(0, 0)
scrolls to the top left corner of the current page.
If you want to scroll to the bottom of your page you could call
window.scrollTo(0, document.body.scrollHeight)
as mentioned by @jsuser in this answer
A more modern approach would be using
browser.actions().mouseMove(element).perform();
Upvotes to @MartinBlaustein in this answer
I found an easier way. If you want to scroll to an element you can use
browser.actions().mouseMove(element).perform();
After that the browser will be focusing the element.
I'd like to add to the previous answer, and hopefully provide a little more explanation.
This code, in the call to 'executeScript':
'window.scrollTo(0,0);'
- Scrolls the window UP, to window coordinates 0,0...essentially to the very top
- If you know the specific area you need to go to, just change the coordinates.
If you know you want to be at the very bottom of the window, which was my goal. You can put a very large number in the 'y' coordinate, like I did here:
browser.executeScript('window.scrollTo(0,10000);').then(function () { expect(<some control>.<some state>).toBe(<some outcome>);})