Python Selenium cambia a un iframe dentro de un iframe

Estoy intentando acceder a un iframe dentro de un iframe utilizando Selenium, Python y BS4

from bs4 import BeautifulSoup from selenium import webdriver import time import html5lib driver = webdriver.Firefox() driver.implicitly_wait(10) driver.get('http://myurl.com') try: time.sleep(4) iframe = driver.find_elements_by_tag_name('iframe')[0] driver.switch_to_default_content() driver.switch_to_frame(iframe) driver.switch_to_default_content() driver.find_elements_by_tag_name('iframe')[0] output = driver.page_source print output finally: driver.quit(); 

Dentro del texto devuelto, parece haber dos iframes más. ¿Cómo puedo acceder a esos? He intentado en el código anterior sin éxito.

switch_to_default_content() lo regresará a la parte superior del documento. Lo que estaba sucediendo es que cambiaste el primer iframe , volvías a la parte superior del documento y luego tratabas de encontrar el segundo iframe . El selenium no puede encontrar el segundo iframe , porque está dentro del primer iframe .

Si elimina el segundo switch_to_default_content() debería estar bien:

 iframe = driver.find_elements_by_tag_name('iframe')[0] driver.switch_to.default_content() driver.switch_to.frame(iframe) driver.find_elements_by_tag_name('iframe')[0]