title: Tell me why this does not end up with a timeout error (selenium 2 webdriver)?
body: <pre><code>from selenium import webdriver
  from selenium.webdriver.support.ui import WebDriverWait
  
  browser = webdriver.Firefox()
  
  browser.get("http://testsite.com")
  
  element = WebDriverWait(browser, 10).until(lambda browser : browser.find_element_by_id("element"))
  
  element.click() # it actually goes to page http://testsite.com/test-page.html
  
  print "Just clicked! And I'm expecting timeout error!"
  
  new_element = WebDriverWait(browser, 0.1).until(lambda browser : browser.find_element_by_id("element"))
  
  print "Too bad there's no timeout error, why?!"
  </code></pre>
  
  <p>OK, as you can see even I set wait time to 0.1 sec there's still no timeout exception thrown. When <code>element.click()</code> executed it does not block till the whole page loads up and that's why <code>Just clicked! And I'm expecting timeout error!</code> showed up, and to my surprise <code>new_element = WebDriverWait(browser, 0.1).until(lambda browser : browser.find_element_by_id("element"))</code> wait till the whole page loads up. And if you use <code>implicit waits</code>, you get the same result. </p>
  
  <p>My point is, sometimes after you click an element it might take up to even hours for a page to load up because of a bad proxy, and you obviously <strong>DO NOT</strong> want to wait that long, what you want is a timeout exception. In this case how would you make it work? </p>