I’m having issues with scrolling to the top of the web page when using Python and Selenium.
When the page loads for some reason you are taken to the bottom of the page (this is due to be fixed). However, when I’m trying to scroll to the top it does not work.
I tried the following:
self.driver.execute_script("scroll(0, -250);")
And
self.driver.execute_script("scroll(0, 0);")
I have also tried locating the element then scrolling to it:
self.driver.execute_script("arguments[0].scrollIntoView()", element)
The above scrollIntoView() code works when scrolling down to the element. However, it does not work scrolling up.
I have tried this running Chrome Driver and PhantomJs.
Any suggestions?
Advertisement
Answer
You can consider to locate the element in the HTML DOM
first, then we can scroll
the element into the Viewport
as follows:
element = driver.find_element_by_xpath("element_xpath") self.driver.execute_script("return arguments[0].scrollIntoView(true);", element)