Python Selenium switch into an iframe within an iframe

iframe, python, selenium

Solution

`switch_to_default_content()` will return you to the top of the document. What was happening is you switched into the first `iframe`, switched back to the top of the document, then tried to find the second `iframe`. Selenium can't find the second `iframe`, because it's inside of the first `iframe`.

If you remove the second `switch_to_default_content()` you should be fine:

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]

Problem

I am trying to access an iframe within an iframe using Selenium, Python, and 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(); ``` Within the returned text, there appears to be two more iframes. How would I access those? I have attempted in the code above without success.

Original source