Python使用Playwright实现屏幕截图的示例详解

 更新时间:2025年12月01日 09:55:52   作者:霍格沃兹测试开发学社  
在软件开发和测试中,屏幕截图是一种常用的工具,用于记录应用程序的状态、错误信息等,Playwright 提供了一种简单而强大的方式来实现屏幕截图,下面我们就来看看具体方法吧

前言

在软件开发和测试中,屏幕截图是一种常用的工具,用于记录应用程序的状态、错误信息等。Playwright 提供了一种简单而强大的方式来实现屏幕截图,帮助开发人员和测试人员轻松捕获和分析应用程序的界面。本文将介绍如何使用 Playwright 实现屏幕截图。

screenshot 截图

在 Playwright 中,要实现屏幕截图非常简单。你只需要调用 page 对象的 screenshot() 方法,并指定保存截图的文件路径即可。以下是一个示例:

捕获屏幕截图并将其保存到文件中的快速方法:

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

使用示例

from playwright.sync_api import sync_playwright


with sync_playwright() as p:
    browser = p.chromium.launch(headless=False, slow_mo=1000)
    context = browser.new_context()  # 创建上下文,浏览器实例1

    page = context.new_page()    # 打开标签页
    page.goto("https://ceshiren.com")
    print(page.title())
    page.screenshot(path="screenshot.png")

截取图像如下:

截取长图

设置full_page=True 参数 screenshot 是一个完整的可滚动页面的屏幕截图,就好像你有一个非常高的屏幕并且页面可以完全容纳它。

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

完整代码如下:

from playwright.sync_api import sync_playwright


with sync_playwright() as p:
    browser = p.chromium.launch(headless=False, slow_mo=1000)
    context = browser.new_context()  # 创建上下文,浏览器实例1

    page = context.new_page()    # 打开标签页
    page.goto("https://ceshiren.com")
    print(page.title())
    page.screenshot(path="screenshot.png", full_page=True)

截取的图像如下:

捕获图片数据流

获取包含图像的缓冲区并对其进行后处理或将其传递给第三方像素差异工具,而非写入文件

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

截取单个元素

除了截取整个当前页面,或者截取长图,playwright还支持截取元素,截取方法如下:

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

例如截图百度首页的form 表单输入框和搜索按钮

from playwright.sync_api import sync_playwright



with sync_playwright() as p:
    browser = p.chromium.launch(headless=False, slow_mo=1000)
    context = browser.new_context()  # 创建上下文,浏览器实例1

    page = context.new_page()    # 打开标签页
    page.goto("https://www.baidu.com/")
    print(page.title())
    page.screenshot(path="screenshot.png")
    page.locator(".form").screenshot(path="screenshot.png")

截图效果如下:

总结

本文主要讲解了playwright的截图操作,比起selenium,playwright的截图功能更加强大,更加方便使用,这也是playwright相对于selenium的强大优势。Playwright 提供了简单而强大的 screenshot() 方法,帮助开发人员轻松捕获和分析应用程序的界面。

到此这篇关于Python使用Playwright实现屏幕截图的示例详解的文章就介绍到这了,更多相关Python Playwright屏幕截图内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python函数作用域示例详解

    Python函数作用域示例详解

    本文介绍了Python中的LEGB作用域规则,详细解析了变量查找的四个层级,通过具体代码示例,展示了各层级的变量访问规则和特性,对python函数作用域相关知识感兴趣的朋友一起看看吧
    2025-07-07
  • python安装PIL模块时Unable to find vcvarsall.bat错误的解决方法

    python安装PIL模块时Unable to find vcvarsall.bat错误的解决方法

    这篇文章给大家分享了关于python安装PIL模块时遇到Unable to find vcvarsall.bat错误的解决方法,相信会对不少人有一定的参考借鉴价值。有需要的朋友们下面来一起看看吧。
    2016-09-09
  • Python文件操作之with语句深度实战指南

    Python文件操作之with语句深度实战指南

    在Python编程中,文件操作是日常开发的高频场景,传统文件操作模式中,开发者需要手动调用close()方法,而with语句的出现,为文件操作构建了一道安全防线,如同为代码装上了“保险箱”,所以本文给大家详细介绍了with语句深度实战指南,需要的朋友可以参考下
    2025-06-06
  • Python 限定函数参数的类型及默认值方式

    Python 限定函数参数的类型及默认值方式

    今天小编就为大家分享一篇Python 限定函数参数的类型及默认值方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • Python中关于面向对象私有属性方法的详细讲解

    Python中关于面向对象私有属性方法的详细讲解

    在实际开发中,对象的某些属性或方法可能只希望在对象的内部被使用,而不希望在外部被访问到,私有属性就是对象不希望公开的属性,私有方法就是对象不希望公开的方法
    2021-10-10
  • 使用Python设置,更新和获取Excel单元格的值

    使用Python设置,更新和获取Excel单元格的值

    Excel工作簿作为一款广泛使用的数据管理工具,与Python相结合,可以使得自动化处理大量数据成为可能,本文将演示如何使用Python设置、更新以及获取Excel文件中单元格的值,希望对大家有所帮助
    2024-10-10
  • python的函数最详解

    python的函数最详解

    这篇文章主要介绍了详解python中各种的函数,是Python入门中的基础知识,需要的朋友可以参考下,希望能够给你带来帮助
    2021-10-10
  • python merge、concat合并数据集的实例讲解

    python merge、concat合并数据集的实例讲解

    下面小编就为大家分享一篇python merge、concat合并数据集的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • Python3中使用zipfile进行文件的压缩和解压缩实现

    Python3中使用zipfile进行文件的压缩和解压缩实现

    zipfile是Python标准库中处理ZIP压缩文件的模块,提供创建、读取、写入和解压功能,下面就来介绍一下Python3中使用zipfile进行文件的压缩和解压缩实现,感兴趣的可以了解一下
    2025-08-08
  • Python函数和模块的使用总结

    Python函数和模块的使用总结

    在本文中小编给大家整理了关于Python函数和模块的使用的相关知识点以及实例代码内容,需要的朋友们跟着学习下。
    2019-05-05

最新评论