Python3 Selenium自動化web測試 ==> 第二節 頁面元素的定位方法 -- iframe專題 <下>
阿新 • • 發佈:2018-12-31
學習目的:
掌握iframe礦建的定位,因為前端的iframe框架頁面元素資訊,大多時候都會帶有動態ID,無法重複定位。
場景:
1. iframe切換
- 檢視iframe
- 切換iframe
- 多個iframe的問題
2.多視窗iframe
- 獲取控制代碼
- 切換控制代碼
正式步驟:
step1: 如果iframe中含有動態ID的情況規避方法
問題截圖
規避程式碼:
# -*- coding:utf-8 -*- """ 模擬登陸126郵箱 """ from selenium import webdriverimport time url = "https://mail.126.com/" driver = webdriver.Chrome() driver.get(url) iframe = driver.find_elements_by_tag_name("iframe")[0] driver.switch_to.frame(iframe) driver.find_element_by_name("email").send_keys("wzm_323") time.sleep(3) driver.quit()
step2: 多層iframe定位
#多層iframe driver.get(url) driver.switch_to.frame(frame1) driver.switch_to.frame(frame2) driver.find_element_by_ driver.switch_to_default_content()
step3: 通過iframe的索引定位
# -*- coding:utf-8 -*- """ 模擬登陸126郵箱 """ from selenium import webdriver import time url= "https://mail.126.com/" driver = webdriver.Chrome() driver.get(url) time.sleep(3) driver.switch_to.frame(0) driver.find_element_by_name("email").send_keys("wzm_323") time.sleep(3) driver.quit()