编写自动化脚本的过程中经常需要截取程序执行过程中的图片,selenium自带API中存在截图方法,本人使用的最简单的截图方法:
driver.get_screenshot_as_file(file_name)
在使用中出现情况:
1.网页中无弹窗,截图为全屏
2.网页存在2层及3层以上弹框,截图只截取了部分图形,未截取全屏
针对这一情况,度娘说是滚动条位置问题,需采用JS将滚动条放置适合位置,尝试后发现并不使用于本人的程序,因为网元不存在滚动条。针对次问题,采用第三方PIL模块,但需说明PIL模块仅使用于Python2.x ,在Python3.x 中采用windows 命令窗口 输入命令 pip install PIL报错,正确应输入 pip install Pillow ,安装成功后,输入下来命令
from PIL import ImageGrab
image_save = ImageGrab.grab()
image_save.save(filename)
通过这种方法保存下为全屏截图,需注意 python3.x 虽然安装包名称为Pillow ,代码编写 为 from PIL import ImageGrab
而非 from Pillow import ImageGrab