《最新出爐》系列初窺篇-Python+Playwright自動化測試-17-處理鼠標懸停

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應用程序中,懸停是一種常見的操作,通常用於顯示提示信息或下拉菜單。

好了,時間不早了,今天就分享和講解到這裏。感謝您耐心的閱讀和學習。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章