Just to summarize on what I learnt and implemented.
#document
is a virtual element, which doesn't really mean anything.If you have mulitple frames/framesets, you will have to switch frames.
a. so first get to the default content.
driver.switch_to_default_content()
b. then get to the frame that you want to work with.
frame = driver.find_element_by_name('mainFrame')
Then play with the elements in that frame.