python+selenium 屏幕截图

一、掌握知识的目的:
当发现执行结果与预期结果不一致时,可以截图,一目了然
二、学习方法:
两种:
(1)、driver.get_screenshot_as_file(路径+图片名称.png)
(2)、使用PIL(第三方库,属于Python的,目的是做图像相关的操作)

区别:

1、第一种方法在selenium中最常见,但是有一种情况不能使用,即该界面是有弹框。JavaScript类型则只能使用pil

第一种方法:

def take_screenshot(self):
    file_path = ( “所想要路径”)
    rq = time.strftime('%Y%m%d%H%M%S', time.localtime(time.time()))#通过时间进行命名
    screen_name = file_path +"\\" +rq + '.png'#双斜杠的意思是转译\,目的是:路径下的图像,例如:c:\文件路径\文件名.png
    try:
        self.driver.get_screenshot_as_file(screen_name)
        print("开始截图并保存")

    except Exception as e:
       print("出现异常", format(e))

第二种方法:

首先,需要下载PIL库,

PIL只有在python2中有,因此,针对python3的使用的是pillow模块。

所以,如果需要安装python3对应的PIL,应该选择安装pillow。

方法:

pip install pllow 加载成功后,可以import PIL 

import PIL
from PIL import Image,ImageGrab
import os
def take_screenshot1(self):

self.im = ImageGrab.grab()
self.im.save("路径+图片名称.png")#保存图片

猜你喜欢

转载自blog.csdn.net/jjb_584520/article/details/84591761