Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Protractor: Scroll down

I have an button on my page that is visible when the user scrolls down. Because of this, protractor tests give me an error:

UnknownError: unknown error: Element is not clickable at point (94, 188).

I tried using:

browser.executeScript('window.scrollTo(0,document.body.scrollHeight)'); 

which worked when I tested it in protractors elementexplorer.js but in my regular tests it doesn't do anything. Any other way around this?

like image 396
xv47 Avatar asked May 09 '14 18:05

xv47


2 Answers

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

like image 153
nilsK Avatar answered Sep 20 '22 09:09

nilsK


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.

like image 24
Martin Blaustein Avatar answered Sep 21 '22 09:09

Martin Blaustein