最強の自動テストフレームワーク Playwright (10) - スクリーンショット

スクリーンショット

スクリーンショットをキャプチャしてファイルに保存します。

page.screenshot(path="screenshot.png")

 ページのスクリーンショットを screen.png として保存できます。

import os

from playwright.sync_api import Playwright, expect, sync_playwright


def run(playwright: Playwright) -> None:
    browser = playwright.chromium.launch(headless=True)
    context = browser.new_context()
    page = context.new_page()
    page.goto("http:www.baidu.com")
    page.screenshot(path="screenshot.png")
    # ---------------------
    context.close()
    browser.close()

with sync_playwright() as playwright:
    run(playwright)

スクリーンショット API は、画像形式、クリッピング領域、品質などの多くのパラメータを受け入れます。ぜひチェックしてみてください。

全ページのスクリーンショット

ページ全体のスクリーンショットは、スクロール可能なページ全体のスクリーンショットであり、あたかも非常に縦長の画面があり、そこにページがぴったり収まるかのように見えます。

page.screenshot(path="screenshot.png", full_page=True)

バッファにキャプチャする

ファイルに書き込む代わりに、画像を含むバッファーを取得して後処理するか、サードパーティのピクセル差分ツールに渡すことができます。

Base64エンコーディングに変換する

screenshot_bytes = page.screenshot()
print(base64.b64encode(screenshot_bytes).decode())

要素のスクリーンショット

場合によっては、単一要素のスクリーンショットを撮ると便利です。

page.locator(".header").screenshot(path="screenshot.png")
page.locator("#kw").screenshot(path="header.png")

 Baidu テキスト ボックスのみをインターセプトする

 

 

おすすめ

転載: blog.csdn.net/seanyang_/article/details/132249752