I'm using selenium with Python and it always freezes when I search for an element that does not exist. I've really tried everything (Firefox version 17.0.1):
>>> import selenium
>>> selenium.__version__
'2.26.0'
>>> from selenium import webdriver
>>> from selenium.webdriver.support.ui import WebDriverWait
>>> ff = webdriver.Firefox()
>>> ff.implicitly_wait(5)
>>> ff.set_page_load_timeout(5)
>>> ff.set_script_timeout(5)
>>> waiter = WebDriverWait(ff, 5)
>>> waiter.until(lambda ff: ff.find_element_by_name("foo"))
That last command freezes indefinitely. How do I get firefox to simply return None or throw an exception when it doesn't find an element, instead of hanging forever? I'm using selenium 2.26.0