《最新出爐》系列初窺篇-Python+Playwright自動化測試-29-處理日曆時間控制元件-中篇

宏哥發表於2023-11-16

1.簡介

上一篇的日曆時間控制元件宏哥介紹的比較傳統也是很常見的。宏哥不能說它很low,但是相比較一些高階、大氣、上檔次的日曆時間控制元件,結果就一目瞭然了:確實很low。

2.被測網站

2.1高大上日曆時間控制元件

高大上的日曆時間控制元件和手機的那種一樣滑動選擇日曆時間。或許這就是手機端的,這裡演示一下在web端如何使用Playwright處理。地址:https://www.jq22.com/demo/jquery-rq-150115222509/

3.專案實戰

思路:比較簡單將其看作是文字輸入框,直接按照日期格式輸入就可以了(馬上光棍節了,宏哥直接輸入23年的光棍節)。

3.1程式碼設計

3.2參考程式碼

# coding=utf-8?

# 1.先設定編碼,utf-8可支援中英文,如上,一般放在第一行

# 2.註釋:包括記錄建立時間,建立人,專案名稱。
'''
Created on 2023-10-17
@author: 北京-宏哥   QQ交流群:705269076
公眾號:北京宏哥
Project: 《最新出爐》系列初窺篇-Python+Playwright自動化測試-29-處理日曆時間控制元件-中篇
'''

# 3.匯入模組
from playwright.sync_api import Playwright, sync_playwright, expect
def run(playwright: Playwright) -> None:
    browser = playwright.chromium.launch(headless=False)
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://www.jq22.com/demo/jquery-rq-150115222509/")
    page.wait_for_timeout(1000)
    page.locator('#beginTime').fill("2023-11-11")
    page.wait_for_timeout(2000)
    context.close()
    browser.close()
with sync_playwright() as playwright:
    run(playwright)

3.3執行程式碼

1.執行程式碼,右鍵Run'Test',控制檯輸出,如下圖所示:

2.執行程式碼後電腦端的瀏覽器的動作。如下圖所示:

4.小結

不知道你們有沒有發現這種日曆時間控制元件的選擇時間和前邊的那種拖拽滑動很類似,那麼我們就用前邊滑鼠拖拽的思路看看能不能實現處理這種高大上的日曆時間控制元件。但是宏哥試了好久宏哥沒有實現,原因看瀏覽器動作是:由左到右,而不是從上到下,或者從下到上。然後利用滑鼠滾動也是沒有實現。

其中遇到問題就是宏哥定位了半天沒有定位到元素,奇怪了半天,看程式碼也是沒有錯誤的。最後恍然大悟是因為元素在iframe中了。這種情況一定要注意,而且關於這類知識宏哥前邊已經詳細介紹過,這裡就不贅述了。原演示網址:https://www.jq22.com/yanshi1732

好了,今天時間不早了,日曆控制元件先介紹講解到這裡,感謝您耐心的閱讀!!!對了,如果有利用拖拽或者滑鼠滾動實現的可以留言哈,大家共同學習進步。

相關文章