Python NameError: nombre ‘ElementNotVisibleException’ no está definido con Selenium

¿Por qué recibo este error usando Python y Selenium y cómo puedo solucionarlo?

NameError: name 'ElementNotVisibleException' is not defined 

Ocurre cuando se ejecuta el siguiente script de este tutorial http://www.marinamele.com/selenium-tutorial-web-scraping-with-selenium-and-python en Python3.5

 import time from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.common.exceptions import TimeoutException def init_driver(): driver = webdriver.Firefox() driver.wait = WebDriverWait(driver, 5) return driver def lookup(driver, query): driver.get("http://www.google.com") try: box = driver.wait.until(EC.presence_of_element_located( (By.NAME, "q"))) button = driver.wait.until(EC.element_to_be_clickable( (By.NAME, "btnK"))) box.send_keys(query) try: button.click() except ElementNotVisibleException: button = driver.wait.until(EC.visibility_of_element_located( (By.NAME, "btnG"))) button.click() except TimeoutException: print("Box or Button not found in google.com") if __name__ == "__main__": driver = init_driver() lookup(driver, "Selenium") time.sleep(5) driver.quit() 

Busqué respuestas en la web y, si bien he encontrado preguntas similares, no he encontrado respuestas que me hayan ayudado a resolver este problema.

Agregar la siguiente statement de importación evitará el NameError mencionado

 from selenium.common.exceptions import ElementNotVisibleException