Python截屏的四种方式

在使用Python做自动化的过程中,在自动化用例执行报错时,经常使用截图的方式来确认用例是否执行成功,以下是Python截图的相关内容。

使用Python截图有4种方式:

  • PIL中的ImageGrab模块
  • windows API
  • PyQt
  • pyautogui

四种方式的优缺点对比:

 

 

在使用过程中,受各方面因素影响,一般使用PyQt多一点,以下以PyQt举例

在以下代码需要使用PyQt5和win32gui,所以在代码使用前要先安装PyQt5模块和win32gui模块,PyQt5模块可以直接安装,pypiwin32包含了win32gui包,所以安装pypiwin32模块即可(不要直接安装win32gui包,会安装失败)

1
2
3
4
5
6
7
8
9
10
11
from PyQt5.QtWidgets import QApplication
from PyQt5.QtGui import *
import win32gui
import sys
 
'''截屏'''
hwnd = win32gui.FindWindow(None'C:\Windows\system32\cmd.exe')
app = QApplication(sys.argv)
screen = QApplication.primaryScreen()
img = screen.grabWindow(hwnd).toImage()
img.save("screenshot.jpg")

  执行后,会在当前目录下生成一个screenshot.jpg文件

posted @   寒冰宇若  阅读(1885)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
历史上的今天:
2020-03-25 大厂一面面试题合集
2020-03-25 自动化面试selenium 面试题及答案
点击右上角即可分享
微信分享提示