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