(selenium+python)_UI自動化04_定位iframe框架內元素


什么是iframe?

iframe是HTML標簽,作用是文檔中的文檔(即在當前 HTML 文檔中嵌入另一個HTML文檔),或者浮動的框架(FRAME)。iframe元素會創建包含另外一個文檔的內聯框架(即行內框架)。

iframe框架內元素定位

selenium中定位iframe內元素,需先切換到iframe框架內,然后再進行元素定位,否則會報錯找不到元素。

一、iframe常用切換

driver.switch_to_frame(iframe_element)  # 切換至iframe
driver.switch_to.default_content()  # 切回主頁面
driver.switch_to_parent_frame()  # 切回上級iframe

二、iframe常見場景

1,僅一個iframe框架

    切換至iframe-->定位iframe內元素-->切回首頁-->定位目標元素

2,存在多個iframe框架

    切換至iframe1-->定位iframe1內元素-->切回首頁-->切換至iframe2-->定位iframe2內元素-->切回首頁-->定位目標元素

3,iframe框架內嵌另一iframe框架

    切換至iframe1-->切換至iframe2-->定位iframe2內元素-->切回首頁-->定位目標元素

三、實例

 網易郵箱登錄,賬號密碼輸入框元素在iframe內,故模擬網易郵箱登錄如下:

 1 # 模擬網易郵箱登錄
 2 from selenium import webdriver
 3 from time import sleep
 4  
 5 driver = webdriver.Chrome()
 6 driver.get("https://email.163.com/")  # 進入網易郵箱首頁
 7 sleep(3)
 8  
 9 iframe_ele = driver.find_element_by_tag_name("iframe")  # 獲取ifarme元素
10 driver.switch_to.frame(iframe_ele)  # 切換到iframe框架
11 driver.find_element_by_name("email").send_keys("AutoTest")  # 輸入郵箱
12 driver.find_element_by_name("password").send_keys("123456")  # 輸入密碼
13 driver.find_element_by_id("dologin").click()  # 點擊登錄


免責聲明!

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



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