利用PIL的ImageGrab进行截图保存

UI自动化测试中,如果需要截图方便后续确认操作结果的话,可以利用PIL的ImageGrab进行截图保存。
注意,如果应用python3,下载模块时,需要下载pillow。

pip3 install pillow

下载完成后,首先要引入需要的模块

# screenshot.py
from PIL import ImageGrab
import os
import time

接下来,定义screen方法,包括进行屏幕镜像的截取,创建截屏的存储路径以及图像保存。

def screen(name):
    # 截取镜像
    png = ImageGrab.grab()
    # 创建存储路径
    screen_path = os.path.join(os.path.dirname(__file__), 'screen')
    if not os.path.exists(screen_path):
        os.makedirs(screen_path)
    # 保存图片到存储路径
    image_name = os.path.join(screen_path, name)
    t = time.strftime('%Y%m%d_%H%M%S', time.localtime())
    png.save('%s_%s.png' % (image_name, t))  # 文件名name后面加了个时间戳,避免重名

后续调用,引入from screenshot import screen后,在文件中直接调用screen方法即可。

截图保存位置

自我记录,有错误欢迎指正~~

你可能感兴趣的:(利用PIL的ImageGrab进行截图保存)