1.簡介
有些測試場景或者事件,playwright根本就沒有直接提供方法去操作,而且也不可能把各種測試場景都全面覆蓋提供方法去操作。比如:就像滑鼠懸停,一般測試場景滑鼠懸停分兩種常見,一種是滑鼠懸停在某一個元素上方,然後會出現下拉子選單,第二種就是在搜尋輸入過程,選擇自動補全的欄位。關於滑鼠懸停,selenium把這個方法放在了Actions.java檔案中,因此也被稱之為Actions的相關操作。今天跟隨宏哥先來看看滑鼠懸停出現下拉選單和自動補全的情況playwright是如何處理。
2.滑鼠懸停出現下拉選單
滑鼠懸停出現下拉選單,顧名思義就是:滑鼠懸停在某一元素上出現下拉選單。
2.1專案實戰
宏哥這裡用百度首頁的更多元素,懸停出現拉來選單,然後點選“音樂”為例進行實戰。
2.2程式碼設計
程式碼設計如下:
2.3參考程式碼
# coding=utf-8? # 1.先設定編碼,utf-8可支援中英文,如上,一般放在第一行 # 2.註釋:包括記錄建立時間,建立人,專案名稱。 ''' Created on 2023-07-17 @author: 北京-宏哥 QQ交流群:705269076 公眾號:北京宏哥 Project: 《最新出爐》系列初窺篇-Python+Playwright自動化測試-16-處理滑鼠懸停-上篇 ''' # 3.匯入模組 from playwright.sync_api import sync_playwright with sync_playwright() as p: browser = p.chromium.launch(headless=False) page = browser.new_page() page.goto("https://wwww.baidu.com") page.wait_for_timeout(5000) dropdown = page.locator("//*[@name='tj_briicon']") # 滑鼠懸停 dropdown.hover() # 點選音樂選項 # page.wait_for_timeout(5000) page.locator("//*[@name='tj_mp3']").click() page.wait_for_timeout(5000) # page.pause() browser.close()
2.4執行程式碼
1.執行程式碼,右鍵Run'Test',控制檯輸出,如下圖所示:
2.執行程式碼後電腦端的瀏覽器的動作。如下圖所示:
3.搜尋輸入過程,選擇自動補全的欄位
在搜尋框輸入關鍵詞後,後提示相關內容,然後將其補全進行搜尋。
3.1專案實戰
宏哥這裡就以百度搜尋為例,進行實戰。
3.2程式碼設計
程式碼設計如下:
3.2參考程式碼
# coding=utf-8? # 1.先設定編碼,utf-8可支援中英文,如上,一般放在第一行 # 2.註釋:包括記錄建立時間,建立人,專案名稱。 ''' Created on 2023-07-17 @author: 北京-宏哥 QQ交流群:705269076 公眾號:北京宏哥 Project: 《最新出爐》系列初窺篇-Python+Playwright自動化測試-16-處理滑鼠懸停-上篇 ''' # 3.匯入模組 from playwright.sync_api import sync_playwright with sync_playwright() as p: browser = p.chromium.launch(headless=False) context = browser.new_context(viewport={'width': 1920, 'height': 1080}, ) page = context.new_page() page.goto("https://wwww.baidu.com") page.wait_for_timeout(3000) page.fill("input[name=\"wd\"]", "selenium ap") page.wait_for_timeout(3000) #自動補全其中一個選擇項 auto_text = page.locator("//*[@id='form']/div/ul/li[@data-key='selenium appium']").click() page.wait_for_timeout(3000) page.click("text=百度一下") context.close() browser.close()
3.3執行程式碼
1.執行程式碼,右鍵Run'Test',控制檯輸出,如下圖所示:
2.執行程式碼後電腦端的瀏覽器的動作。如下圖所示:
4.小結
在Web應用程式中,懸停是一種常見的操作,通常用於顯示提示資訊或下拉選單。
好了,時間不早了,今天就分享和講解到這裡。感謝您耐心的閱讀和學習。