Selenium 自動化補充知識,Frame操作、多視窗切換、模糊定位、複合定位
Frame 操作,多視窗切換,元素模糊定位,複合定位,本篇部落格為你繼續補充一下 Selenium 的其它知識。
Frame 操作
Frame 是網頁中一類標籤的稱呼,翻譯過來就是網頁中巢狀一個子網頁。具體有 Frameset、Frame、iFrame 三種,其中 Frameset 與正常獲取標籤一致,但是 Frame 與 iFrame 不同,需要把 Webdriver 切換到 Frame 內在進行獲取操作。
目前主流的網站透過 Frame 巢狀的不多了,所以本部分只羅列知識點。
一般在使用網頁巢狀的時候 Frame 都會存在一個 id 屬性,因為沒有這個屬性無法定為到巢狀的子網頁。
有 id 屬性就可以透過下述程式碼進行切換了。
# 驅動切換到 iFrame
driver.switch_to.frame("other_frame_id")
如果想要將驅動返回到主網頁,程式碼如下。
driver.switch_to.default_content()
還可以透過索引進行切換。
driver.switch_to.frame(0)
多視窗(選項卡)切換
網頁瀏覽的過程中,有時候開啟的新頁面在新視窗或者瀏覽器的新選項卡中,此時就需要 Selenium 進行切換了,專業術語叫做切換控制程式碼。
例如我們點開首頁,然後點選 Python 分類,會自動在新選項卡開啟頁面,程式碼如下。
from selenium import webdriver
import time
driver = webdriver.Firefox()
driver.maximize_window()
driver.get
driver.find_element_by_link_text('Python').click()
# 獲取當前瀏覽器視窗控制程式碼
current_handle = driver.current_window_handle
# 獲取所有視窗控制程式碼
handles = driver.window_handles
# print(handles) 大連人流醫院
# 透過下述程式碼切換視窗
driver.switch_to_window(handles[1])
time.sleep(3)
# 下面的 link_text 內容你需要更換到你自己瀏覽器開啟 Python 之後看到的頁面中,涉及的內容。
driver.find_element_by_link_text('Lombok外掛到底要不要用?').click()
# driver.quit()
你可以將上述程式碼中的 driver.switch_to_window(handles[1]) 註釋掉,然後檢視結果。
元素模糊定位
只要在程式設計裡面看到模糊兩個字,你就可以聯想是部分匹配,也就是透過一些內容去查詢網頁元素。
該部分內容,其實主要是 find_element_by_xpath 方法中 XPath 語法的應用。
具體內容可以檢索 XPath 中 starts-with、ends-with、contains等相關知識。
複合定位
定位一組元素,此類方法非常容易掌握,如果你的程式設計工具中安裝了智慧提示,在你編寫程式碼的過程中會出現提示。
一堆 find_elements_xx 的方法,這些就是複合定位啦,一次性會獲取多個標籤,返回一個標籤列表,具體內容自己嘗試一下吧。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69945560/viewspace-2762218/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【轉】selenium之 定位以及切換frame
- [python][selenium] Web UI自動化切換iframe框架以及瀏覽器操作切換視窗和處理彈窗PythonWebUI框架瀏覽器
- Selenium3自動化測試【17】元素定位之Link定位
- Web自動化必會知識:「Web基礎、元素定位、元素操作、Selenium執行原理、專案實戰+框架」Web框架
- [Selenium自動化測試實戰] 如何視覺化驗證元素的定位視覺化
- [python][selenium][web自動化]webdriver的元素定位方式PythonWeb
- selenium定位與常見操作
- Selenium4自動化測試4--元素定位By.XPATH,元素定位最佳順序
- Selenium3自動化測試【20】CSS定位元素CSS
- Selenium3自動化測試【18】XPath定位元素(2)
- selenium自動化操作
- Selenium用法詳解 -- Selenium3 自動化測試 frame多種用法舉例
- Web自動化測試 五 ----- selenium的等待和切換Web
- 爬蟲學習日記(十)selenium frame的切換爬蟲
- css fixed視窗底部固定定位CSS
- Vision - 活動彈窗識別和定位
- 【Web前端基礎知識】CSS的定位機制之定位Web前端CSS
- 固定位置的Js懸浮視窗JS
- Jaeger知識點補充
- 《手把手教你》系列技巧篇(二十三)-java+ selenium自動化測試-webdriver處理瀏覽器多視窗切換下卷(詳細教程)JavaWeb瀏覽器
- UI 自動化元素定位規範問題UI
- java開發 selenium工具定位動態變化的idJava
- 【YashanDB知識庫】ODBC驅動類問題定位方法
- Selenium:xPath 定位實踐
- Selenium Web元素定位方法Web
- selenium中的xpath定位
- selenium常用元素定位方式
- Selenium實現元素定位
- rman基礎知識補充
- APPIUM-Android自動化元素定位方式APPAndroid
- Web自動化測試:xpath & CSS Selector定位WebCSS
- 40 橫豎屏切換略縮圖不能定位
- 小知識:使用errorstack定位特定問題Error
- 自動駕駛定位已知方式自動駕駛
- Selenium4自動化測試2--元素定位By.ID,By.CLASS_NAME,By.TAG_NAME
- RMAN基礎知識補充 FORMAT字串格式化ORM字串格式化
- Selenium系列4-元素定位
- 浮動定位(BFC、邊距合併)