title: Scrolling web page using selenium python webdriver
body: <p>I am scraping this webpage for usernames which loads the users after scrolling</p>
  
  <p>Url to page : "<a href="http://www.quora.com/Kevin-Rose/followers" rel="nofollow">http://www.quora.com/Kevin-Rose/followers</a>"</p>
  
  <p>I know the number of users on the page (in this case no. is 43812)
  How can I scroll the page till all the users are loaded? 
  I have searched for the same on the internet and everywhere I got almost same line of code for doing it which is:</p>
  
  <p>driver.execute_script("window.scrollTo(0, )")</p>
  
  <p>How can I determine the vertical position to ensure that all the users are loaded? Is there any other option to achieve the same thing without actually scrolling?</p>
  
  <pre><code>   from selenium import webdriver
  from selenium.webdriver.common.keys import Keys
  from selenium.webdriver.common.by import By
  from selenium.webdriver.support.ui import WebDriverWait
  from selenium.webdriver.support import expected_conditions as EC
  import time
  import urllib
  
  driver = webdriver.Firefox()
  driver.get('http://www.quora.com/')
  time.sleep(10)
  
  wait = WebDriverWait(driver, 10)
  
  form = driver.find_element_by_class_name('regular_login')
  time.sleep(10)
  #add explicit wait
  
  username = form.find_element_by_name('email')
  time.sleep(10)
  #add explicit wait
  
  username.send_keys('abc@gmail.com')
  time.sleep(30)
  #add explicit wait
  
  password = form.find_element_by_name('password')
  time.sleep(30)
  #add explicit wait
  
  password.send_keys('def')
  #add explicit wait
  
  password.send_keys(Keys.RETURN)
  time.sleep(30)
  
  #search = driver.find_element_by_name('search_input')
  search = wait.until(EC.presence_of_element_located((By.XPATH, "//form[@name='search_form']//input[@name='search_input']")))
  
  search.clear()
  search.send_keys('Kevin Rose')
  search.send_keys(Keys.RETURN)
  
  link = wait.until(EC.presence_of_element_located((By.LINK_TEXT, "Kevin Rose")))
  link.click()
  #Wait till the element is loaded (Asynchronusly loaded webpage)
  
  handle = driver.window_handles
  driver.switch_to.window(handle[1])
  #switch to new window 
  
  element = WebDriverWait(driver, 2).until(EC.presence_of_element_located((By.PARTIAL_LINK_TEXT, "Followers")))
  element.click()
  </code></pre>