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的lambda语句声明匿名函数的用法
Jul 01 Python
Python 正则表达式实现计算器功能
Apr 29 Python
python中如何使用正则表达式的非贪婪模式示例
Oct 09 Python
python时间日期函数与利用pandas进行时间序列处理详解
Mar 13 Python
pandas 对每一列数据进行标准化的方法
Jun 09 Python
Python判断有效的数独算法示例
Feb 23 Python
WxPython实现无边框界面
Nov 18 Python
解决python ThreadPoolExecutor 线程池中的异常捕获问题
Apr 08 Python
pyqt5 textEdit、lineEdit操作的示例代码
Aug 12 Python
python selenium 获取接口数据的实现
Dec 07 Python
PyTorch梯度裁剪避免训练loss nan的操作
May 24 Python
Python Flask实现进度条
May 11 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
xajax写的留言本
2006/11/25 PHP
php中全局变量global的使用演示代码
2011/05/18 PHP
php array的学习笔记
2012/05/10 PHP
Laravel框架集成UEditor编辑器的方法图文与实例详解
2019/04/17 PHP
js event事件的传递与冒泡处理
2009/12/06 Javascript
Jquery知识点一 Jquery的ready和Dom的onload的区别
2011/01/15 Javascript
用JQuery 判断某个属性是否存在hasAttr的解决方法
2013/04/26 Javascript
如何调试异步加载页面里包含的js文件
2014/10/30 Javascript
JavaScript DSL 流畅接口(使用链式调用)实例
2015/03/15 Javascript
JavaScript弹窗基础篇
2016/04/27 Javascript
jquery获取table指定行和列的数据方法(当前选中行、列)
2016/11/07 Javascript
JS制作类似选项卡切换的年历
2016/12/03 Javascript
knockoutjs模板实现树形结构列表
2017/07/31 Javascript
webpack 模块热替换原理
2018/04/09 Javascript
解决Angular4项目部署到服务器上刷新404的问题
2018/08/31 Javascript
vue store之状态管理模式的详细介绍
2019/06/13 Javascript
vue服务端渲染操作简单入门实例分析
2019/08/28 Javascript
解决layer.open后laydate失效的问题
2019/09/06 Javascript
[01:23:35]Ti4主赛事胜者组 DK vs EG 1
2014/07/19 DOTA
[10:18]2018DOTA2国际邀请赛寻真——找回自信的TNCPredator
2018/08/13 DOTA
Python验证企业工商注册码
2015/10/25 Python
Python使用面向对象方式创建线程实现12306售票系统
2015/12/24 Python
python自动化报告的输出用例详解
2018/05/30 Python
Django模板导入母版继承和自定义返回Html片段过程解析
2019/09/18 Python
如何使用Python脚本实现文件拷贝
2019/11/20 Python
用python画一只可爱的皮卡丘实例
2019/11/21 Python
html5调用摄像头功能的实现代码
2018/05/07 HTML / CSS
美国家居装饰购物网站:Amanda Lindroth
2020/03/25 全球购物
main 主函数执行完毕后,是否可能会再执行一段代码,给出说明
2012/12/05 面试题
小学运动会口号
2014/06/07 职场文书
超市优秀员工获奖感言
2014/08/15 职场文书
党员干部三严三实心得体会
2014/10/13 职场文书
离婚协议书范本(通用篇)
2014/11/30 职场文书
导游词之徐州云龙湖
2019/11/19 职场文书
关于企业的执行力标语大全
2020/01/06 职场文书
MySQL利用UNION连接2个查询排序失效详解
2021/11/20 MySQL