Selenium自動化測試——Frame框架定位

2020-12-07 匯智動力IT學院

Frame是HTML框架結構常用的一種布局格式,共有三種形式:framesetframeiframe

1、Frameset:將HTML頁面分割,可以嵌入多個HTML源碼文件,實現單個頁面顯示不同HTML頁面效果,不能嵌入在BODY標籤中。

2、Frame:在Frameset下面設置Frame,實現某個框架頁面,必須嵌套在Frameset中,無法單獨存在。

3、Iframe:在某個頁面嵌入一個HMTL窗口信息,可脫離Frameset應用,框架屬性有自己定義。

Frameset在分割頁面後,可以由Frame和iframe嵌入頁面信息,Frame僅能在Frameset中應用,Iframe則無此限制。

Frameset與HTML其他標籤相同,不影響正常的元素定位,但frame及iframe則不同,在定位元素過程中,需先定位frame及iframe。

01 單層frame

單層frame在定位時,需先切換到對應的frame中,利用switch_to.frame(reference)語法進行切換。Reference為需切換的frame的id、name或index等。

如以下frame框架代碼:

則切換frame代碼如下:

如果frame沒有id或name,則可以索引值,也可以利用先查找webelement對象再切換frame的方法進行,查找web element可利用find element方式。

02 嵌套frame

當某個frame中嵌套了其他的frame時,切換frame則需以嵌套結構逐層切換,例如:

上述的html中frame1中嵌套了frame2,如果需要定位frame2中的元素,則切換frame應當逐層切換,如:

當切換到frame2進行操作後,如果需返回到frame1,則可利用以下方法:

返回上一層frame中,類似於回退效果,當上一層是主文檔時,該方法無效。

03 回退主frame

切到某個具體的frame中之後,Selenium不能定位主文檔中的元素,如果想定位主文檔的元素,則需切回主文檔。可利用以下方法:

相關焦點

  • 自動化測試進階課程——Selenium自動化測試通關實戰班
    3、瀏覽器操作對象定位Selenium自動化測試通關實戰班學習內容包括:Selenium配置Webdriver驅動、瀏覽器操作API、對象定位工具、方法技巧等。4、元素對象操作APISelenium自動化測試通關實戰班學習內容包括:常用操作元素方法、WebElement接口常用方法、滑鼠鍵盤事件、等待事件設置、定位一組對象、定位frame中的對象、js類型的彈窗處理、下拉框處理、Selenium處理js等。
  • Selenium自動化測試——框架設計
    一、自動化框架設計如果僅針對單個功能進行自動化測試腳本開發及執行,則無須設計自動化框架。單次執行,然後查看對應的結果再進行缺陷確認,但如果有多個腳本時,則可能存在大量的重複代碼,維護成本非常高。因此一個自動化過程的實施,應當根據產品特性設計合理的自動化測試框架,便於擴展與維護。
  • 自動化測試工具Selenium+Python的簡單介紹
    Selenium是一個用於Web應用程式測試的工具,Selenium測試直接運行在瀏覽器中,就像真正的用戶在操作一樣。Python則是強大的腳本語言,已廣泛地應用於自動化測試中。本文簡單介紹一下Selenium和Python的使用。
  • 測試基礎:Python+Selenium實現自動化的幾個步驟
    本文以一個頁面例子說明運行自動化腳本需要哪些步驟及實現過程中的報錯匯總。首先需要導入模塊名有些功能selenium框架已經封裝好了,只需要我們直接調用就好。函數from selenium.webdriver.support.select import Select#導入select函數· webdriver驅動:通過webdriver驅動來調用瀏覽器· sleep函數:正常網頁加載過程中,如果不通過時間等待再點擊元素是無法定位到元素,從而報錯,sleep函數是自動化過程中經常用到的功能· ActionChains
  • Selenium自動化測試框架入門整理
    關注嘉為科技,獲取運維新知本文主要針對Selenium自動化測試框架入門整理,只涉及總體功能及框架要點介紹說明,以及使用前提技術基礎要求整理說明。作為開發人員、測試人員入門參考。Selenium-core 是使用HTML的方式來編寫測試腳本,你也可以使用 Selenium-IDE來錄製腳本,但是目前Selenium-IDE只有 FireFox 版本。Selenium-RC(Selenium3.X 移除):selenium-remote control 縮寫,是使用具體的語言來編寫測試類。
  • 你正在學 Web 自動化測試?Selenium 基本操作你了解嘛?|原力計劃
    作者 | 遇上方知友__QAQ責編 | 王曉曼 出品 | CSDN博客在自動化測試中,我們都知道是通過定位元素來實現的,那麼有時候我們定位元素定位不到是為什麼呢?iframeiframe 既是一個內聯框架被用來在當前 HTML 文檔中嵌入另一個文檔。
  • 學會Python+Selenium,分分鐘搭建Web自動化框架!
    用python+selenium實現UI自動化測試,要有一些HTML和xpth的基礎,當然python基礎一定是必須要會的。筆者建議花點時間了解下相關基礎知識,不至於後面發懵。一、什麼是selenium?selenium是個強大的工具集。支持快速開發測試自動化,支持在多種瀏覽器平臺上執行測試。
  • 10分鐘玩轉Python+Selenium自動化測試,快速入門通道!
    根據最近面試的情況,把很多同學在實踐selenium的時候沒弄清的問題總結了一下,順便教大家如何快速玩轉selenium!現在測試工程師都在聊什麼?1、python會了嗎最近?2、selenium自動化你們團隊進度怎麼樣?3、你們自動化框架應用得如何?
  • 【Web自動化總結】Selenium處理特殊頁面元素技巧
    Selenium是目前主流的UI自動化框架,能夠識別和操作網頁元素。它提供八種基本的定位方式,能夠通過id,name,text,css,xpath等識別網頁元素。網頁是否有frame取決於前端開發的設計和實現,對測試人員來說,
  • Python之selenium自動化測試
    這幾年,Python真的可以用火爆來形容,尤其在人工智慧、自動化測試領域,風頭大有蓋過java的趨勢。今天我們就來說下使用selenium包下的webdriver自動打開瀏覽器的場景下,如何操作。一、環境準備我們直接先說下mac下chrome的自啟動,預裝環境如下,1、Python3.62、chrome瀏覽器3、pip3裝好selenium命令:sudo pip3 install selenium這裡我們選用的是selenium包,簡單說明下,selenium webdriver是業界通用的測試框架
  • Script+Selenium玩轉Web應用自動化測試
    自動化測試在軟體開發過程中, 測試是功能驗收的必要過程, 這個過程往往有測試人員參與, 提前編寫測試用例, 然後再手動對測試用例進行測試, 測試用例都通過之後則可以認為該功能通過驗收.但是軟體中多個功能之間往往存在關聯或依賴關係, 某一個功能的新增或修改可能或影響到其它的功能, 這時就需要測試人員對個軟體的相關或所有功能進行回歸測試, 以便確認系統運行正常, 但是給測試人員增加了很大的工作量.自動化測試是把以人為驅動的測試行為轉化為機器執行的一種過程, 可以解決傳統手工測試中回歸測試工作量大的問題.
  • 在你喜歡的框架中創建純Java Selenium測試
    對於Salesforce,由於應用程式是如此動態,因此在應用程式中導航時很難精確地確定正確的元素定位符和等待條件。斷言允許您定義測試方案的預期行為,並以自動化方式驗證該預期。現在,Parasoft Selenic可以在點擊過程中通過點擊界面在selenium代碼中創建斷言。
  • web自動化測試神器——selenium家族介紹
    目前,如果說要進行web自動化 測試,首選的工具基本上都是selenium,那麼selenium到底是什麼呢?1.什麼是seleniumSelenium是基於WEB應用的驗收測試工具集合,直接運行在瀏覽器中,通過一系列命令來模擬用戶操作,Selenium可以將這些命令轉化成實際的HTTP請求在瀏覽器中運行 。
  • python 自動化,Helium 憑什麼取代 Selenium?
    作者:星安果來源: AirPython1. python自動化:Helium 是什麼?Helium 是一款 Web 端自動化開源框架,全稱是:Selenium-Python-Helium,從名字上就可以看出,Helium 似乎和 Selenium 息息相關確實,Helium 針對 Selenium 進行了封裝,它屏蔽了 Selenium 很多實現細節,提供了更加簡潔直觀的 API,更方便我們進行 Web 端的自動化官方表示,要實現同樣的功能,
  • Python 自動化,Helium 憑什麼取代 Selenium?
    Helium 是一款 Web 端自動化開源框架,全稱是:Selenium-Python-Helium,從名字上就可以看出,Helium 似乎和 Selenium 息息相關確實,Helium 針對 Selenium 進行了封裝,它屏蔽了 Selenium 很多實現細節,提供了更加簡潔直觀的 API,更方便我們進行 Web 端的自動化官方表示,要實現同樣的功能
  • python 自動化,Helium 憑什麼取代 Selenium?
    Helium 是一款 Web 端自動化開源框架,全稱是:Selenium-Python-Helium,從名字上就可以看出,Helium 似乎和 Selenium 息息相關確實,Helium 針對 Selenium 進行了封裝,它屏蔽了 Selenium 很多實現細節,提供了更加簡潔直觀的 API,更方便我們進行 Web 端的自動化官方表示,要實現同樣的功能,
  • Python+selenium自動化之EC模塊之title_is
    在自動化測試中,判定元素是否存在是最常用到的,在Python+selenium自動化之25----判定元素是否存在中介紹一種方法,下面的幾篇介紹selenium中一個模塊expected_conditions,簡稱EC。引用EC如果需要使用EC,那麼首先導入expected_conditions模塊。
  • 第二章:Python Selenium 自動化測試之selenium IDE 入門
    FireBug的作用主要是用來調試網頁的,FirePath的作用主要是定位網頁元素的。selenium IDE簡介:一個Firefox插件,需要額外安裝,可以錄製用戶的基本操作,生成測試用例。隨後可以運行這些測試用例在瀏覽器裡回放,可將測試用例轉換為其他語言的自動化腳本。
  • Python 自動化Helium 憑什麼取代 Selenium?
    Helium 是一款 Web 端自動化開源框架,全稱是: Selenium-Python-Helium , 從名字上 就可以看出, Helium 似乎和 Selenium 息息相關確實, Helium 針對 Sel e n i um 進行了 封裝 , 它屏蔽了 Selenium 很多實現細節,提供了更加簡潔直觀的 API,更方便我們進行 Web 端的自動化
  • Selenium ---Web自動化測試的神兵利器,值得收藏!
    Selenium的介紹Selenium是開源的自動化測試工具,它主要是用於Web 應用程式的自動化測試。Selenium 是用於測試 Web 應用程式用戶界面 (UI) 的常用框架。它是一款用於運行端到端功能測試的超強工具。