1.簡介
上一篇講解和分享了錄製自動生成腳本,索性連帶錄製視頻也一股腦的在這裏就講解和分享了。今天我們將學習如何使用Playwright和Python來錄製瀏覽器操作的視頻,以便在需要時進行回放和分析。
2.錄製視頻語法
錄製視頻介紹官方API的文檔地址:https://playwright.dev/python/docs/videos#record-video
2.1錄製
視頻在測試結束時瀏覽器上下文關閉時保存。如果您手動創建瀏覽器上下文,請確保browser_context.close(), 會在調用close的時候保存視頻。如果沒有等到上下關閉,就停止執行將不會保存視頻。
context = browser.new_context(record_video_dir="videos/") # Make sure to close, so that videos are saved. context.close()
2.2大致流程步驟
①、安裝 Playwright Python(已完成搭建playwright環境)
②、創建一個瀏覽器實例
③、啓動錄製
④、執行需要錄製的操作
⑤、關閉瀏覽器或者上下文實例
⑥、保存錄像文件
接下來,我們將詳細介紹每個步驟需要做什麼,並提供相應的代碼示例進行實戰。
3.詳細步驟
3.1安裝playwright
安裝 Playwright Python(已完成搭建playwright環境)
3.2創建瀏覽器實例
在開始錄製之前,我們需要創建一個上下文或者瀏覽器實例。下面的代碼演示瞭如何創建一個 Chromium 瀏覽器實例:
from playwright.sync_api import sync_playwright with sync_playwright() as playwright: browser = playwright.chromium.launch() page = browser.new_page()
3.3啓動錄製
一旦我們有了瀏覽器實例或者上下文和頁面,我們就可以啓動錄製了。使用以下代碼在頁面上啓動錄製:
context = browser.new_context(record_video_dir="videos/")
# Make sure to close, so that videos are saved.
context.close()
代碼執行後,可以看到videos目錄下生成了視頻,只是格式是webm格式。 如下圖所示:
3.4執行需要錄製的操作
現在,我們可以在頁面上執行任何需要錄製的操作。例如,點擊按鈕、填寫表單等。請根據您的需求編寫相應的代碼。
3.5關閉實例
當您完成了需要錄製的操作後,使用以下代碼關閉瀏覽器或者上下文實例:
context.close()
browser.close()
3.6 保存錄像文件
最後,我們需要保存錄制的視頻文件。使用以下代碼將錄製保存爲文件:
page.video.path() # 獲取錄製文件的路徑
您可以將錄像文件路徑打印出來,或將其保存到變量中供後續使用。
4.項目實戰
這裏還是以度娘爲例,在搜索框輸入“北京-宏哥”,點擊“百度一下”。
4.1代碼設計
4.2參考代碼
# coding=utf-8🔥 # 1.先設置編碼,utf-8可支持中英文,如上,一般放在第一行 # 2.註釋:包括記錄創建時間,創建人,項目名稱。 ''' Created on 2023-11-26 @author: 北京-宏哥 公衆號:北京宏哥 Project: 《最新出爐》系列初窺篇-Python+Playwright自動化測試-41-錄製視頻 ''' # 3.導入模塊 from playwright.sync_api import sync_playwright with sync_playwright() as playwright: # 創建一個瀏覽器實例 browser = playwright.chromium.launch() # 啓動錄製 context = browser.new_context(record_video_dir="videos/recording.mp4") page = context.new_page() # 執行需要錄製的操作 page.goto("https://www.baidu.com") page.locator("#kw").fill("北京-宏哥") page.locator("#su").click() # 關閉實例 context.close() browser.close() # 保存錄像文件 recording_path = page.video.path() print("錄像文件路徑:", recording_path)
4.3運行代碼
1.運行代碼,右鍵Run'Test',控制檯輸出,如下圖所示:
2.運行代碼後電腦端的瀏覽器的動作。如下圖所示:
5.指定視頻大小
您還可以指定視頻大小。視頻大小默認爲縮小以適合 800x800 的視口大小。視口的視頻放置在輸出視頻的左上角,必要時縮小以適合。您可能需要設置視口大小以匹配所需的視頻大小。
context = browser.new_context( record_video_dir="videos/", record_video_size={"width": 640, "height": 480} )
保存的視頻文件將出現在指定的文件夾中。它們都生成了唯一的名稱。對於多頁面場景,您可以通過 page.video 訪問與頁面關聯的視頻文件。
path = page.video.path()
6.video對象方法
video對象方法官方API:https://playwright.dev/python/docs/api/class-video
6.1獲取視頻路徑
print(page.video.path())
6.2刪除視頻
video.delete()
6.3視頻另存爲
video.save_as(path)
7.小結
好了,今天時間不早了,關於playwright的錄製視頻就先介紹講解到這裏。感謝您耐心的閱讀!!!