2015-01-08 136 views
0

我正在使用python硒包,我試圖將頁面滾動到底部..雖然,我應用硒的網站是動態的(動態加載),這意味着它並不是真的滾動到頁面的底部。向下滾動硒

後,我看了,我覺得硒文檔中我能得到這個解決方案:

for i in range(25): 
    driver.execute_script("window.scrollTo(0, document.body.scrollHeight)") 
    time.sleep(0.5) 

這是不是對我不夠好,因爲有時候網頁需要更多的迭代,有時多更少到達頁面底部。

有一個get功能,因此if語句,像我可以使用:

for i in range(25): 
    if driver.current_position == driver.document_height: 
     break 
    driver.execute_script("window.scrollTo(0, document.body.scrollHeight)") 
    time.sleep(0.5) 

所以,當我到了文檔的末尾我不會等待什麼,並打破循環。

或者也許如果我可以檢查我多少像素躍升,如果它是零,我會打破循環

回答

0

這將是更好地使用while循環,跳出循環的,一旦你觸及底部頁面,而不是在for中設置迭代次數有一種很好的方法可以做到這一點,在這裏:Scrolling down a page with Selenium Webdriver