一、什麼是 Python Playwright ?
Python Playwright 是一個 Python 腳本編寫工具,適用於自動化測試和 Web 端到端測試的開源工具。它是一種跨瀏覽器的自動化工具,旨在允許用戶通過簡單而強大的 Python API 輕鬆地編寫和維護測試腳本。
Python Playwright 可以輕鬆地與所有主要的瀏覽器交互,包括 Chrome、Firefox 和 Safari 等,從而使用戶能夠測試其代碼在不同瀏覽器下的運行情況,確保其工作流具有可靠性和可復現性。
二、Python Playwright 的使用
1、安裝 Python Playwright
安裝 Python Playwright 的最簡單方法是使用 pip。
pip install playwright
您還可以使用以下命令下載其他瀏覽器驅動程序:
python -m playwright install
在此命令完成後, ,將會下載相關的瀏覽器驅動程序。這裡我選擇下載 Chromnium,當然如果你需要使用其他瀏覽器,只需要使用不同的參數即可。
python -m playwright install chromium
2、啟動瀏覽器
Python Playwright API 使得許多常見的任務,例如將瀏覽器啟動到指定的頁面,變得非常容易和直觀。
# 導入playwright庫
from playwright.sync_api import Playwright, sync_playwright
# 執行一個同步任務
def run(playwright: Playwright) -> None:
# 啟動chromium瀏覽器
browser = playwright.chromium.launch(headless=False) # headless=False 表示我們啟動的瀏覽器有 GUI 界面
# 新建頁面
page = browser.new_page()
# 導航到指定頁面
page.goto('https://www.baidu.com')
# 關閉瀏覽器
browser.close()
# 使用with語法,以便在結束時退出playwright
with sync_playwright() as playwright:
run(playwright)
3、部署配置
Python Playwright 的執行力配置非常靈活,以便於根據配置管理執行上下文和運行期間遵循的規則。示例代碼如下:
from playwright import sync_playwright
with sync_playwright() as playwright:
# 配置webview組件的放大率,此參數默認值為1
browser = playwright.chromium.launch(headless=False, viewport={'width': 1920, 'height': 1080}, device_scale_factor=2)
# 設置請求超時時間,單位為ms
browser_context = browser.new_context()
page = browser_context.new_page(timeout=10000)
# 創建cookie
browser_context.add_cookies([{'name': 'name1', 'value': 'value1'}, {'name': 'name2', 'value': 'value2'}])
# 設置請求的Referer header屬性
page.set_extra_http_headers({'Referer': 'https://www.baidu.com/'})
# Accept-Language頭部屬性
page.set_extra_http_headers({'Accept-Language': 'zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7'})
# 關閉瀏覽器
browser.close()
4、頁面操作
Python Playwright 將頁面操作都封裝成了豐富的 API ,使得我們能夠非常方便地對頁面進行各種操作,如:尋找元素、填充表單、模擬滑鼠事件等等。請看以下示例代碼:
from playwright.sync_api import Playwright, sync_playwright
def run(playwright: Playwright) -> None:
browser = playwright.chromium.launch(headless=False)
context = browser.new_context()
page = context.new_page()
# 導航到baidu首頁
page.goto("https://www.baidu.com")
# 輸入並搜索
page.type("#kw", "Python Playwright")
page.click("input[type=submit]")
# 獲取頁面訪問的 name 屬性值為 '著名的Python Playwright自動化測試庫' 的a標籤
playright_link = page.locator("[name=' Python Playwright 自動化測試庫']").first()
# 滑鼠懸停在該元素上
playright_link.hover()
# ...
browser.close()
with sync_playwright() as playwright:
run(playwright)
三、結語
Python Playwright 使得自動化測試變得容易和可靠。本文對 Python Playwright 的重點介紹了它的配置和用法,希望對您有所幫助!
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/257717.html