來源: http://blog.csdn.net/anniejunyan/article/details/23257327 Selenium + Webdriver 學習(五) frame下元素定位
http://blog.csdn.net/huilan_same/article/details/52200586 selenium之 定位以及切換frame(iframe)
frame標簽有frameset、frame、iframe三種,frameset跟其他普通標簽沒有區別,不會影響到正常的定位。而frame與iframe對selenium定位而言是一樣的,內部的元素都會不能直接定位到。
driver.switch_to.frame(reference)
driver.switch_to.parent_frame() 從子frame切回到父frame
driver.switch_to.default_content() 切到frame中之后,我們便不能繼續操作主文檔的元素,這時如果想操作主文檔內容,則需切回主文檔。
想要定位其中的iframe並切進去,可以通過如下代碼:
from selenium import webdriver
driver = webdriver.Firefox()
driver.switch_to.frame(0) # 1.用frame的index來定位,定位第一個frame (index 下標從0開始)。 # driver.switch_to.frame("frame1") # 2.用id來定位 # driver.switch_to.frame("myframe") # 3.用name來定位 # driver.switch_to.frame(driver.find_element_by_tag_name("iframe")) # 4.用WebElement對象來定位。即用find_element系列方法所取得的對象,我們可以用tag_name、xpath等來定位frame對象
