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應用程序中,懸停是一種常見的操作,通常用於顯示提示信息或下拉菜單。
好了,時間不早了,今天就分享和講解到這裏。感謝您耐心的閱讀和學習。