2012-07-19 5 views

Antwort

6

Sie können vertikal nach unten scrollen, um mit dem folgenden Code:

((JavascriptExecutor) driver).executeScript("scroll(0,250);"); 

Ebenso ist es auch möglich, durch, um nach oben zu ändern y als negative Koordinate:

((JavascriptExecutor) driver).executeScript("scroll(0, -250);"); 

Sie auch die Verwendung kann folgenden Code: Für scroll down:

((JavascriptExecutor) driver).executeScript("window.scrollBy(0,250)", ""); 

Für Scroll-up:

((JavascriptExecutor) driver).executeScript("window.scrollBy(0, -250)", ""); 
+0

Wie kann man wissen, wann das Scrollen beendet ist? – Edgar

+0

Um die Sichtbarkeit eines Elements zu erhöhen, wird manchmal ein Bildlauf benötigt. Beispielsweise klicken Sie auf ein Element, das sich am unteren Rand der Seite befindet. In diesem Fall muss Scrolling ausgeführt werden. Wenn der Klick erfolgreich ist, bedeutet dies, dass der Bildlauf abgeschlossen ist und der Link unten sichtbar ist. –

7

Scrolling auf ein Element einer Seite:

((JavascriptExecutor)driver).executeScript("arguments[0].scrollIntoView();" 
                   ,webElement); 
+0

Super, das funktioniert gut. Ich habe das seit Stunden versucht und keine der anderen Optionen funktioniert – Kalle

2

Scrolling sollte wie unten sein:

((JavascriptExecutor) driver).executeScript("scroll(0,-250);"); 
+0

Caren hat Recht. keine Notwendigkeit, die X-Koordinate zu ändern. Die y-Koordinate sollte negativ sein, um nach oben zu scrollen. –

0

Wenn Sie Ich bin mir nicht sicher, wie hoch die Seite ist und scrolle runter zum unteren Teil der Seite Seite können Sie den Hauptrahmen dieser Seite finden und folgenden Code verwenden, ohne nach unten zu rollen mit Scroll- oder scrollBy

scr1 = driver.find_element_by_xpath('xpath') 
driver.execute_script("arguments[0].scrollTop = arguments[0].scrollHeight", scr1) 

Dies ist auf die weit automatisch nach unten auf der Seite gehen. Sie können ein Beispiel here sehen.