2010-12-12 8 views
25

Ich möchte mein Cucumber/Capybara-Setup verwenden, um endloses Scrollen zu testen, indem ich einen Browser anwende und zum Ende der Seite scrolle, um sicherzustellen, dass der neue Inhalt geladen wird. Gibt es eine Möglichkeit, dies zu tun?Gurken Capybara zum Ende der Seite scrollen

Antwort

18

Ich löste dies mit Besuch "#footer" in einem Schritt "Scroll bis zum Ende der Seite".

+1

Dies funktioniert nur, wenn Sie ein Element mit einem 'id' von' footer' haben. Es nimmt auch an (vernünftigerweise), dass die Fußzeile am Ende der Seite ist ... –

+0

Genious. +1, obwohl keine direkte Antwort;)) –

+3

@NatRitmeyer gut ja ... Deshalb heißt es Fußzeile, ja? –

55

könnten Sie Javascript um dies zu erreichen verwenden:

page.execute_script "window.scrollBy(0,10000)" 
+7

Für Google-Zwecke habe ich hier mit dem Fehler "unbekannter Fehler: Element ist nicht anklickbar (750, 341). Anderes Element würde den Klick erhalten" und die Lösung war 'page.execute_script" window.scrollBy (0,500) " '. Vielen Dank! – dankohn

+4

Wenn Sie jQuery verfügbar haben, können Sie 'window.scrollBy (0, $ (window) .height())' 'ausführen – Drew

Verwandte Themen