Ich habe Probleme beim Scrollen an den Anfang der Webseite, wenn Sie Python und Selenium verwenden.
Wenn die Seite aus irgendeinem Grund geladen wird, werden Sie zum unteren Rand der Seite geführt (dies sollte behoben werden). Wenn ich versuche, nach oben zu scrollen, funktioniert es nicht.
Ich habe folgendes versucht:
self.driver.execute_script("scroll(0, -250);")
Und
self.driver.execute_script("scroll(0, 0);")
Ich habe auch versucht, das Element zu finden und danach zu scrollen:
self.driver.execute_script("arguments[0].scrollIntoView()", element)
Der obige scrollIntoView () - Code funktioniert, wenn Sie zu dem Element scrollen. Es funktioniert jedoch nicht beim Scrollen nach oben.
Ich habe versucht, Chrome Driver und PhantomJs auszuführen.
Irgendwelche Vorschläge?
Sie können in Betracht ziehen, das Element zuerst in HTML DOM
zu lokalisieren. Dann können Sie scroll
das Element in Viewport
wie folgt eingeben:
element = driver.find_element_by_xpath("element_xpath")
self.driver.execute_script("return arguments[0].scrollIntoView(true);", element)
Sie können einfach die Tasten STRG + HOME verwenden. Es wird an den Anfang der Seite verschoben.
driver.find_element_by_tag_name('body').send_keys(Keys.CONTROL + Keys.HOME)
Bitte versuchen Sie das:
driver.execute_script("document.querySelector('div[role=dialog] ul').parentNode.scrollTop=1e100")
von Selenium import webdriver
t=10
while t:
#if you want to scroll to the end of the page,use this
driver.execute_script("window.scrollTo(0,document.body.scrollHeight);")
sleep(3)
#if you want to scroll down upto some level use this, here i used "1000" you may vary
#it according to your use
driver.execute_script("scrollBy(0,+1000);")
sleep(3)
#if you want to scroll some level up, use this,again i used here "-500" you may vary
#according to your use
driver.execute_script("scrollBy(0,-500);")
sleep(3)
t=t-1 # it`s a part of the loop
Das wird dir sicherlich helfen :)
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);")
Es wird klappen !!