selenium之內嵌網頁iframe切換


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當做你的卧室,原來的主頁面當做客廳,你從客廳需要進入到卧室,必須打開卧室的門,這一步驟就是切入

這時候你又想去客廳去拿杯子,就需要從卧室出去,出去這一步驟就是切出(回到主頁面)。這樣說的話是不是容易理解了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM