Python截图并保存的具体实例


Posted in Python onJanuary 14, 2021

大家肯定会疑问,为什么需要用python去进行截图保存,或者说是我们的QQ、微信都是自带截图工具的,可以直接拿过来进行使用的,但是事实上,一般在测试的时候,经常会遇到代码报错等问题,这种需要反馈的时候,就需要利用到python自行截图,好啦,下面就是实现的几个操作。

1、selenium for python

实现代码如下:

import time
from selenium import webdriver
driver = webdriver.Chrome()
driver.maximize_window()
driver.implicitly_wait(6)
driver.get("https://www.baidu.com")
time.sleep(1)
driver.get_screenshot_as_file("C:\\baidu.png")
driver.quit()

2、PIL库

实现代码如下:

import time
from PIL import ImageGrab
if __name__=="__main__": 
 pic = ImageGrab.grab()
 pic.save("picture.jpg")

实例扩展:

#coding=utf-8
import time
import win32gui, win32ui, win32con, win32api
def window_capture(filename):
 hwnd = 0 # 窗口的编号,0号表示当前活跃窗口
 # 根据窗口句柄获取窗口的设备上下文DC(Divice Context)
 hwndDC = win32gui.GetWindowDC(hwnd)
 
 # 根据窗口的DC获取mfcDC
 mfcDC = win32ui.CreateDCFromHandle(hwndDC)
 
 # mfcDC创建可兼容的DC
 saveDC = mfcDC.CreateCompatibleDC()
 
 # 创建bigmap准备保存图片
 saveBitMap = win32ui.CreateBitmap()
 
 # 获取监控器信息
 MoniterDev = win32api.EnumDisplayMonitors(None, None)
 w = MoniterDev[0][2][2]
 h = MoniterDev[0][2][3]
 
 # print w,h #图片大小
 # 为bitmap开辟空间
 saveBitMap.CreateCompatibleBitmap(mfcDC, w, h)
 
 # 高度saveDC,将截图保存到saveBitmap中
 saveDC.SelectObject(saveBitMap)
 
 # 截取从左上角(0,0)长宽为(w,h)的图片
 saveDC.BitBlt((0, 0), (w, h), mfcDC, (0, 0), win32con.SRCCOPY)
 saveBitMap.SaveBitmapFile(saveDC, filename)
 
if __name__=="__main__": 
 beg = time.time()
 for i in range(1):
  image_name="haha%s.jpg"%i
  window_capture(image_name)
 end = time.time()
 print(end - beg)

到此这篇关于Python截图并保存的具体实例的文章就介绍到这了,更多相关Python如何截图保存内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
跟老齐学Python之永远强大的函数
Sep 14 Python
在Django的通用视图中处理Context的方法
Jul 21 Python
在Python的while循环中使用else以及循环嵌套的用法
Oct 14 Python
Python实现的插入排序算法原理与用法实例分析
Nov 22 Python
python实现逆序输出一个数字的示例讲解
Jun 25 Python
详解Python最长公共子串和最长公共子序列的实现
Jul 07 Python
如何在Django中设置定时任务的方法示例
Jan 18 Python
python3的print()函数的用法图文讲解
Jul 16 Python
django 单表操作实例详解
Jul 30 Python
python实现多线程端口扫描
Aug 31 Python
pytorch cuda上tensor的定义 以及减少cpu的操作详解
Jun 23 Python
通过实例解析Python文件操作实现步骤
Sep 21 Python
Python从MySQL数据库中面抽取试题,生成试卷
Jan 14 #Python
DRF使用simple JWT身份验证的实现
Jan 14 #Python
如何用Python提取10000份log中的产品信息
Jan 14 #Python
python自动生成证件号的方法示例
Jan 14 #Python
用python批量移动文件
Jan 14 #Python
python用700行代码实现http客户端
Jan 14 #Python
python批量生成身份证号到Excel的两种方法实例
Jan 14 #Python
You might like
DC动画很好看?新作烂得令人发指,名叫《红色之子》
2020/04/09 欧美动漫
php导出word文档与excel电子表格的简单示例代码
2014/03/08 PHP
PHP中require和include路径问题详解
2014/12/25 PHP
php从完整文件路径中分离文件目录和文件名的方法
2015/03/13 PHP
PHP使用strtotime获取上个月、下个月、本月的日期
2015/12/30 PHP
php实现的支付宝网页支付功能示例【基于TP5框架】
2019/09/16 PHP
PHP pthreads v3下worker和pool的使用方法示例
2020/02/21 PHP
JS的IE和Firefox兼容性集锦
2006/12/11 Javascript
javascript面向对象之Javascript 继承
2010/05/04 Javascript
XMLHTTPRequest的属性和方法简介
2010/11/23 Javascript
封装html的select标签的js操作实例
2013/07/02 Javascript
移动设备web开发首选框架:zeptojs介绍
2015/01/29 Javascript
详解JavaScript UTC时间转换方法
2016/01/07 Javascript
网页瀑布流布局jQuery实现代码
2016/10/21 Javascript
bootstrap导航、选项卡实现代码
2016/12/28 Javascript
微信小程序商城项目之购物数量加减(3)
2017/04/17 Javascript
帝国cms首页列表页实现点赞功能
2017/10/30 Javascript
vue.js通过路由实现经典的三栏布局实例代码
2018/07/08 Javascript
Angular2中监听数据更新的方法
2018/08/31 Javascript
[02:32]“虐狗”镜头慎点 2016国际邀请赛中国区预选赛现场玩家采访
2016/06/28 DOTA
python中关于日期时间处理的问答集锦
2013/03/08 Python
Python定时执行之Timer用法示例
2015/05/27 Python
以windows service方式运行Python程序的方法
2015/06/03 Python
python脚本内运行linux命令的方法
2015/07/02 Python
python opencv 实现对图像边缘扩充
2020/01/19 Python
Python 程序员必须掌握的日志记录
2020/08/17 Python
亚马逊西班牙购物网站:amazon西班牙
2017/03/06 全球购物
耐克奥地利官网:Nike奥地利
2019/08/16 全球购物
娱乐地球:Entertainment Earth
2020/01/08 全球购物
什么是smarty? Smarty的优点是什么?
2013/08/11 面试题
大学生党员承诺书
2014/05/20 职场文书
毕业证丢失证明范本
2014/09/20 职场文书
2014年保安个人工作总结
2014/11/13 职场文书
英语导游词
2015/02/13 职场文书
表扬信范文
2015/05/04 职场文书
五星级酒店宣传口号
2015/12/25 职场文书