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对象的深拷贝和浅拷贝详解
Aug 25 Python
简单谈谈python基本数据类型
Sep 26 Python
python合并已经存在的sheet数据到新sheet的方法
Dec 11 Python
使用python实现简单五子棋游戏
Jun 18 Python
Kali Linux安装ipython2 和 ipython3的方法
Jul 11 Python
Python matplotlib绘制饼状图功能示例
Sep 10 Python
基于Python中的yield表达式介绍
Nov 19 Python
pytorch 改变tensor尺寸的实现
Jan 03 Python
Python生成器常见问题及解决方案
Mar 21 Python
浅谈keras中loss与val_loss的关系
Jun 22 Python
python 爬虫如何实现百度翻译
Nov 16 Python
Django使用django-simple-captcha做验证码的实现示例
Jan 07 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
php二分法在IP地址查询中的应用
2008/08/12 PHP
Php 构造函数construct的前下划线是双的_
2009/12/08 PHP
PHP资源管理框架Assetic简介
2014/06/12 PHP
php判断访问IP的方法
2015/06/19 PHP
基于PHP技术开发客服工单系统
2016/01/06 PHP
PHP基于单例模式实现的数据库操作基类
2016/01/15 PHP
PHP safe_mode开启对于PHP系统函数有什么影响
2020/11/10 PHP
jquery ajax提交整个表单元素的快捷办法
2013/03/27 Javascript
Jquery 点击按钮自动高亮实现原理及代码
2014/04/25 Javascript
JavaScript截取字符串的2个函数介绍
2014/08/27 Javascript
基于javascript实现窗口抖动效果
2016/01/03 Javascript
微信小程序 开发之快递查询功能的实现
2017/01/09 Javascript
JavaScript DOM节点操作实例小结(新建,删除HTML元素)
2017/01/19 Javascript
js简易版购物车功能
2017/06/17 Javascript
vue单页应用中如何使用jquery的方法示例
2017/07/27 jQuery
浅谈es6 javascript的map数据结构
2017/12/14 Javascript
vue-cli 默认路由再子路由选中下的选中状态问题及解决代码
2018/09/06 Javascript
layui复选框的全选与取消实现方法
2019/09/02 Javascript
vue请求服务器数据后绑定不上的解决方法
2019/10/30 Javascript
使用python绘制人人网好友关系图示例
2014/04/01 Python
Python 自动化表单提交实例代码
2017/06/08 Python
如何在python中使用selenium的示例
2017/12/26 Python
Python开发网站目录扫描器的实现
2019/02/21 Python
Python读取VOC中的xml目标框实例
2020/03/10 Python
python判断元素是否存在的实例方法
2020/09/24 Python
HTML5之SVG 2D入门4—笔画与填充
2013/01/30 HTML / CSS
巴西女装购物网站:Eclectic
2018/04/24 全球购物
Yahoo-PHP面试题3
2012/01/14 面试题
Can a struct inherit from another struct? (结构体能继承结构体吗)
2016/09/25 面试题
函授大学生自我鉴定
2014/02/05 职场文书
双语教学实施方案
2014/03/23 职场文书
2014个人反腐倡廉思想汇报
2014/09/15 职场文书
2014年学校教学工作总结
2014/12/06 职场文书
实用干货:敬酒词大全,帮你应付各种场合
2019/11/21 职场文书
vue-cil之axios的二次封装与proxy反向代理使用说明
2022/04/07 Vue.js
Java Lambda表达式常用的函数式接口
2022/04/07 Java/Android