在使用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:Windowssystem32cmd.exe' ) app = QApplication(sys.argv) screen = QApplication.primaryScreen() img = screen.grabWindow(hwnd).toImage() img.save( "screenshot.jpg" ) |
执行后,会在当前目录下生成一个screenshot.jpg文件