Je ne parviens pas à faire défiler l'écran vers le haut de la page Web lorsque j'utilise Python et Selenium.
Lorsque la page se charge pour une raison quelconque, vous êtes amené au bas de la page (cela doit être corrigé). Cependant, lorsque j'essaie de faire défiler vers le haut, cela ne fonctionne pas.
J'ai essayé ce qui suit:
self.driver.execute_script("scroll(0, -250);")
Et
self.driver.execute_script("scroll(0, 0);")
J'ai aussi essayé de localiser l'élément puis de le faire défiler:
self.driver.execute_script("arguments[0].scrollIntoView()", element)
Le code scrollIntoView () ci-dessus fonctionne lors du défilement vers l'élément. Cependant, cela ne fonctionne pas en faisant défiler.
J'ai essayé ce pilote en cours d'exécution Chrome et PhantomJs.
Aucune suggestion?
Vous pouvez envisager de localiser l’élément dans le HTML DOM
d’abord, puis nous pouvons scroll
l’élément dans le Viewport
comme suit:
element = driver.find_element_by_xpath("element_xpath")
self.driver.execute_script("return arguments[0].scrollIntoView(true);", element)
Vous pouvez simplement utiliser les touches CTRL + HOME. Il fera défiler vers le haut de la page.
driver.find_element_by_tag_name('body').send_keys(Keys.CONTROL + Keys.HOME)
S'il vous plaît essayez ceci:
driver.execute_script("document.querySelector('div[role=dialog] ul').parentNode.scrollTop=1e100")
from Selenium import webdriver
from Selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.get("__")
#to scroll try use the following command
driver.execute_script("scrollBy(0,250);")
Ça va marcher !!