playwright截圖


from playwright.sync_api import sync_playwright
import time
import os

# print(dirpath)
with sync_playwright() as p:
    for i in [p.chromium, p.firefox]:
        browser = i.launch(headless=False)
        page = browser.new_page()
        page.goto("https://www.baidu.com")
        page.screenshot(path='a.png')  #截圖
        print(page.title())
        browser.close()

快速截圖:

screenshot方法可以進行截圖,參數如下:

timeout:以毫秒為單位的超時時間,0為禁用超時

path:設置截圖的路徑

type:圖片類型,默認jpg

quality:像素,不適用於jpg

omit_background: 隱藏默認白色背景,並允許捕獲具有透明度的屏幕截圖。不適用於“jpeg”圖像。

full_page:如果為true,則獲取完整可滾動頁面的屏幕截圖,而不是當前可見的視口。默認為

`假`。

clip:指定結果圖像剪裁的對象clip={'x': 10 , 'y': 10, 'width': 10, 'height': 10}

 

按照元素截圖

參數同上,只是調用截圖方法的對象不同,快速截圖是page,按照元素截圖是page下的元素

from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(headless=False)
    page = browser.new_page()
    page.goto("https://www.baidu.com")
    element_handle = page.query_selector("//div[@id='lg']") #按照元素截圖
    element_handle.screenshot(path="screenshot.png")

如果元素沒找到會提示錯誤:AttributeError: 'NoneType' object has no attribute 'screenshot'

 

 

捕捉到緩沖區

https://playwright.dev/python/docs/screenshots

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM