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正则分组的应用
Nov 10 Python
python list使用示例 list中找连续的数字
Jan 27 Python
Python中SOAP项目的介绍及其在web开发中的应用
Apr 14 Python
Python基于hashlib模块的文件MD5一致性加密验证示例
Feb 10 Python
Python-ElasticSearch搜索查询的讲解
Feb 25 Python
利用Tensorflow构建和训练自己的CNN来做简单的验证码识别方式
Jan 20 Python
keras 特征图可视化实例(中间层)
Jan 24 Python
Pandas对DataFrame单列/多列进行运算(map, apply, transform, agg)
Jun 14 Python
Python 为什么推荐蛇形命名法原因浅析
Jun 18 Python
python怎么对数字进行过滤
Jul 05 Python
总结python 三种常见的内存泄漏场景
Nov 20 Python
Python四款GUI图形界面库介绍
Jun 05 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 mssql 时间格式问题
2009/01/13 PHP
php 数组的指针操作实现代码
2011/02/08 PHP
php中json_decode()和json_encode()的使用方法
2012/06/04 PHP
PHP 观察者模式的实现代码
2013/05/10 PHP
ASP和PHP实现生成网站快捷方式并下载到桌面的方法
2014/05/08 PHP
THinkPHP获取客户端IP与IP地址查询的方法
2016/11/14 PHP
JavaScript DOM 学习第二章 编辑文本
2010/02/19 Javascript
JavaScript高级程序设计(第3版)学习笔记3 js简单数据类型
2012/10/11 Javascript
JAVASCRIPT模式窗口中下载文件无法接收iframe的流
2013/10/11 Javascript
常用jQuery选择器总结
2014/07/11 Javascript
Node.js实现在目录中查找某个字符串及所在文件
2014/09/03 Javascript
jQuery.extend 函数及用法详细
2015/09/06 Javascript
实例讲解JavaScript中的this指向错误解决方法
2016/06/13 Javascript
很棒的Bootstrap选项卡切换效果
2016/07/01 Javascript
Google 地图API Map()构造器详解
2016/08/06 Javascript
javascript实现去除HTML标签的方法
2016/12/26 Javascript
微信小程序 自动登陆PHP源码实例(源码下载)
2017/05/08 Javascript
浅谈react+es6+webpack的基础配置
2017/08/09 Javascript
分享vue里swiper的一些坑
2018/08/30 Javascript
ES6的解构赋值实例详解
2019/05/06 Javascript
layui 对弹窗 form表单赋值的实现方法
2019/09/04 Javascript
手把手带你入门微信小程序新框架Kbone的使用
2020/02/25 Javascript
jQuery实现的上拉刷新功能组件示例
2020/05/01 jQuery
在vue中使用cookie记住用户上次选择的实例(本次例子中为下拉框)
2020/09/11 Javascript
[54:45]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 Optic vs OG
2018/04/02 DOTA
Python 随机生成中文验证码的实例代码
2013/03/20 Python
用Python实现协同过滤的教程
2015/04/08 Python
Python元字符的用法实例解析
2018/01/17 Python
python去除拼音声调字母,替换为字母的方法
2018/11/28 Python
python和c语言的主要区别总结
2019/07/07 Python
Python zip函数打包元素实例解析
2019/12/11 Python
python中如何使用insert函数
2020/01/09 Python
总裁秘书岗位职责
2013/12/04 职场文书
医院护士见习期自我鉴定
2014/04/10 职场文书
老干部工作汇报材料
2014/10/28 职场文书
教师廉洁自律个人总结
2015/02/10 职场文书