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文件
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .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 面试题及答案