1. 程式人生 > >Python3 Selenium自動化web測試 ==> 第二節 頁面元素的定位方法 -- iframe專題 <下>

Python3 Selenium自動化web測試 ==> 第二節 頁面元素的定位方法 -- iframe專題 <下>

學習目的:

  掌握iframe礦建的定位,因為前端的iframe框架頁面元素資訊,大多時候都會帶有動態ID,無法重複定位。

場景:

1. iframe切換

  • 檢視iframe
  • 切換iframe
  • 多個iframe的問題

 

2.多視窗iframe

  • 獲取控制代碼
  • 切換控制代碼

 

正式步驟:

step1: 如果iframe中含有動態ID的情況規避方法

問題截圖

規避程式碼:

# -*-  coding:utf-8 -*-
"""
模擬登陸126郵箱
"""
from selenium import webdriver
import 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()