NoSuchElementException al intentar usar Selenium Python

Sigo obteniendo una NoSuchElementException cuando intento usar Selenium para encontrar un elemento en Python. Estoy esperando que la página se cargue por completo, y estoy cambiando al marco correcto (¡o al menos eso creo!).

Aquí está el código:

driver.get("https://www.arcgis.com/home/signin.html")
driver.implicitly_wait(10)


driver.switch_to_frame("oAuthFrame")
elem = driver.find_element_by_name('username')
elem1 = driver.find_element_by_name('password')

Aquí está la parte de la página web a la que intento acceder:

<input id="user_username" class="textBox" type="text" name="username" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false">

que se encuentra dentro

<iframe dojoattachpoint="_iFrame" id="oAuthFrame" scrolling="no" style="display: block; border: 0px;" marginheight="0" marginwidth="0" frameborder="0" width="400" height="500"...>

Puedes ver el código fuente por ti mismo enhttps://www.arcgis.com/home/signin.html

Salida de error completa:

    Traceback (most recent call last):
  File "C:\Python34\beginSample.py", line 12, in <module>
elem = driver.find_element_by_name('username')
File "C:\Python34\lib\site-packages\selenium\webdriver\remote\webdriver.py", l
ine 302, in find_element_by_name
return self.find_element(by=By.NAME, value=name)
File "C:\Python34\lib\site-packages\selenium\webdriver\remote\webdriver.py", l
ine 662, in find_element
{'using': by, 'value': value})['value']
File "C:\Python34\lib\site-packages\selenium\webdriver\remote\webdriver.py", l
ine 173, in execute
self.error_handler.check_response(response)
File "C:\Python34\lib\site-packages\selenium\webdriver\remote\errorhandler.py"
, line 164, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: 'no such element\n
(Session info: chrome=35.0.1916.153)\n  (Driver info: chromedriver=2.9.248315,pl
atform=Windows NT 6.1 SP1 x86_64)'

Si alguien pudiera ayudarme a descubrir qué está mal, lo agradecería enormemente.

ACTUALIZAR: Ahora estoy usando acciones, y he depurado hasta el punto de que no hay errores, pero tampoco escribo nada. Aquí está el código:

from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains

actions = ActionChains(driver)
actions.send_keys("sd")
actions.send_keys(Keys.TAB)
actions.send_keys("bg")
actions.perform()

Respuestas a la pregunta(1)

Su respuesta a la pregunta