Regarding this issue, I want to know if there is a way to wait until page auto scroll completed?
The problem is that when you click on the "Next" ("Volgende"
) button on pagination (URL
is https://www.iens.nl/restaurant+utrecht) for the first time webdriver
redirects you to the next page and automatically scroll up to the top of page. So if to execute
WebDriverWait(driver, 5).until(EC.element_to_be_clickable((By.LINK_TEXT, 'Volgende')))
again, just after redirection, webdriver
will find button, but click on some other element as focus moves up for about a second.
For now only solution to keep clicking "Next" button until last page reached is to use time.sleep
:
while True:
try:
click_icon = WebDriverWait(driver, 5).until(EC.element_to_be_clickable((By.LINK_TEXT, 'Volgende')))
click_icon.click()
time.sleep(2) # to wait until page scrolled
except:
break
but it's obviously not the best idea...
P.S. Also I wonder if there is a possibility to disable page auto scroll feature. Switching general.autoScroll
to False
in Firefox
about:config
doesn't make any effect
The html contains element with tag
<main>
that receives attributestyle
when the page is not scrolled all the way up. I suggest you wait until the tag doesn't have this attribute