練習篇28-處理iframe切換
知識
05-19
本文介紹如何利用Selenium中方法,在不同iframe中切換。
問題:有時候我們發現元素定位沒問題,在測試回放的過程,發現就是找不到元素報錯。
由於沒有找到合適的iframe網站,這裡不好用代碼舉例,簡單文字加圖片來介紹。
自己寫了一個網頁,利用iframe網頁框架,把網頁分成上下兩個不同iframe控制的頁面,把下面html代碼保存到一個記事本,然後修改名稱為iframe-demo.html
【歡迎關注凱哥:凱哥Java】
iframe test page
用本地瀏覽器打開如下圖:
用firepath來獲得百度文本輸入框的XPath截圖
看到了紅圈位置不是顯示Top Window,說明你要定位的目標元素在一個iframe里,如果要操作這個元素,首先需要從默認的Top Window,利用switch_to.frame("iframeid")方法來切換到具體的iframe,然後才能去操作目標元素。
正常百度頁面,文本輸入框截圖
方法介紹:
[python] view plain copy
driver.switch_to.frame("iframe1")
# 操作目標元素,這個目標元素在 iframe1裡面,這裡就是百度文本輸入框輸入文字
driver.switch_to.default_content()
如果有具體項目頁面利用了iframe, 自己動手寫一下腳本。


※練習篇26-執行JavaScript
※練習篇27-多窗口之間切換
TAG:凱哥java |