IFRAME是HTML標簽,作用是文檔中的文檔,或者浮動的框架(FRAME)。iframe元素會創建包含另外一個文檔的內聯框架(即行內框架) -來自百度百科
iframe,又叫浮動幀標記,是內嵌的網頁元素,可以將一個html文件嵌入到另一個html文件中顯示
一般這種網頁元素我們需要進行切入之后才能定位到具體的元素,如何做呢?下面代碼是一種方法,並不能執行。
from selenium import webdriver import time driver = webdriver.Chrome() driver.implicitly_wait(5) # 隱式等待 driver.get("http://www.xxx.com") #打開網頁 """ 對iframe進行操作,需要用到以下三種方法: switch_to_iframe() 切換到iframe上(未來會被刪除,不建議使用) switch_to.frame() 切換到iframe上 switch_to.default_content() 切換回原主頁面 """ iframe = driver.find_element_by_id("f91fsd") #定位到內嵌的iframe網頁 driver.switch_to.frame(iframe) #切入到iframe driver.find_element_by_id("sw").send_keys("test") #然后對元素進行操作 driver.switch_to.default_content() #回到主頁面,這一步一定要記得,有很多初學者會忘記寫這一步導致無法定位到原頁面元素 time.sleep(5) driver.quit()
看完代碼相信你對iframe有一個大概的了解,其實你把里面的iframe當做你的卧室,原來的主頁面當做客廳,你從客廳需要進入到卧室,必須打開卧室的門,這一步驟就是切入
這時候你又想去客廳去拿杯子,就需要從卧室出去,出去這一步驟就是切出(回到主頁面)。這樣說的話是不是容易理解了。