【Playwright + Python】系列(九)Playwright 呼叫 Chrome 外掛,小白也能事半功倍

久曲健發表於2024-11-11

哈嘍,大家好,我是六哥!今天我來給大家分享一下如何使用playwight呼叫chrome外掛,物件導向為功能測試及零基礎小白,我儘量用大白話的方式舉例講解,力求所有人都能看懂,建議大家先收藏,以免後面找不到。😎

什麼是chrome外掛?

就是輔助你工作生活的助手,會讓你事半功倍,舉個例子,下圖就是一個外掛:

實戰舉慄

透過playwright啟動chrome瀏覽器(有介面、帶代理和指定擴充套件,操作慢),訪問百度頁面並等待外掛載入,最後關閉瀏覽器。

程式碼詳解

程式碼開頭:關鍵引入與代理設定

from time import sleep
from playwright.sync_api import sync_playwright
proxy = {'server': '代理IP'}

from time import sleep,這個sleep函式可有用啦。咱都知道測試的時候,有時候得等網頁載入啥的,用sleep就能讓程式暫停一會兒。比如說,你覺得某個操作後需要等 5 秒確保頁面穩定,就可以用sleep(5)

from playwright.sync_api import sync_playwright,這裡的playwright是個強大的自動化測試工具,sync_playwright是啟動它的關鍵。

再看proxy,這是代理設定。如果測試環境需要透過代理訪問網路,就得設定這個。要是填錯了,測試就可能出問題,就像你走錯路了一樣。

主函式:程式的入口

def test_Ext():
    with sync_playwright() as p:

這裡def test_Ext():定義了我們的測試函式。with sync_playwright() as p呢,p就像是我們操作瀏覽器的手柄。

        # 設定代理並啟動帶有擴充套件程式的瀏覽器
        extension_path = 'dist'  # 替換為你的擴充套件程式路徑
        browser = p.chromium.launch(
            channel='chrome',
            headless=False,
            proxy=proxy,
            args=[f'--disable-extensions-except={extension_path}', f'--load-extension={extension_path}'],
            slow_mo=3000
        )

extension_path = 'dist',這裡要換成你實際的擴充套件程式路徑,如果沒有就先不管。擴充套件程式能增強瀏覽器功能,比如有擴充套件能方便地獲取頁面資訊。

browser = p.chromium.launch(...)裡,channel='chrome'指定用chrome瀏覽器。headless=False表示瀏覽器有介面,這樣我們能看到操作過程。proxy=proxy就是用前面設定的代理。args裡的--disable - extensions - except={extension_path}只啟用指定擴充套件,--load - extension={extension_path}載入它。slow_mo=3000讓操作慢一點,每步停 3 秒,方便我們觀察。

        # 建立一個新的上下文
        context = browser.new_context()

建立新上下文,這就好比給測試準備一個獨立的環境,和其他測試環境互不干擾。

        # 建立一個新的頁面
        page = context.new_page()

建立新頁面,就像在瀏覽器裡新開一個標籤頁。

        # 訪問第一個網頁並處理彈出對話方塊
        page.goto("https://www.baidu.com")
        sleep(20)

page.goto("https://www.baidu.com")讓頁面訪問百度。sleep(20)是因為百度頁面內容多,等 20 秒確保完全載入。要是有彈出框,playwright一般能自動處理。

        # 關閉瀏覽器
        browser.close()

測試完了,得關閉瀏覽器,釋放資源,不然會佔用電腦效能。

可能遇到的問題

要是有問題,像代理不對或者擴充套件路徑錯了,就會報錯。咱得根據報錯資訊排查,多試幾次熟悉流程,以後複雜的自動化測試程式碼咱也能輕鬆搞定。

效果

寫在最後

到此,關於使用呼叫 Chrome 外掛方法已分享完畢,感興趣的同學可以自行動手嘗試。 如需要全部原始碼,公眾號回覆“playwight案例”獲取,無引號。希望大家都能順利掌握,一起進步。也歡迎分享給更多有需要的朋友哦!

相關文章