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随机生成彩票号码的方法
Mar 05 Python
Python 类与元类的深度挖掘 I【经验】
May 06 Python
python人民币小写转大写辅助工具
Jun 20 Python
Flask框架各种常见装饰器示例
Jul 17 Python
Python3.6.x中内置函数总结及讲解
Feb 22 Python
Django保护敏感信息的方法示例
May 09 Python
华为校园招聘上机笔试题 扑克牌大小(python)
Apr 22 Python
Windows10下Tensorflow2.0 安装及环境配置教程(图文)
Nov 21 Python
python绘制随机网络图形示例
Nov 21 Python
Django ORM实现按天获取数据去重求和例子
May 18 Python
Python+Kepler.gl轻松制作酷炫路径动画的实现示例
Jun 02 Python
Python爬虫 简单介绍一下Xpath及使用
Apr 26 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
菜鸟修复电子管记
2021/03/02 无线电
PHP 计算代码执行耗时的代码修正网上普遍错误
2011/05/14 PHP
php读取mysql乱码,用set names XXX解决的原理分享
2011/12/29 PHP
PHP排序算法的复习和总结
2012/02/15 PHP
基于PHP CURL用法的深入分析
2013/06/09 PHP
php导出csv格式数据并将数字转换成文本的思路以及代码分享
2014/06/05 PHP
PHP实现文字写入图片功能
2019/02/18 PHP
javascript 自定义事件初探
2009/08/21 Javascript
早该知道的7个JavaScript技巧
2013/03/27 Javascript
jquery得到font-size属性值实现代码
2013/09/30 Javascript
jquery五角星评分插件示例分享
2014/02/21 Javascript
Javascript中使用parseInt函数需要注意的问题
2015/04/02 Javascript
jquery实现的树形目录实例
2015/06/26 Javascript
JS区分浏览器页面是刷新还是关闭
2016/04/17 Javascript
jQuery禁用快捷键例如禁用F5刷新 禁用右键菜单等的简单实现
2016/08/31 Javascript
写jQuery插件时的注意点
2017/02/20 Javascript
js实现下拉框效果(select)
2017/03/28 Javascript
bootstrap multiselect下拉列表功能
2017/08/22 Javascript
Vue监听数据渲染DOM完以后执行某个函数详解
2018/09/11 Javascript
Vue循环组件加validate多表单验证的实例
2018/09/18 Javascript
Vue.js的动态组件模板的实现
2018/11/26 Javascript
关于RxJS Subject的学习笔记
2018/12/05 Javascript
JS解惑之Object中的key是有序的么
2019/05/06 Javascript
[01:00:44]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#1COL VS Alliance第三局
2016/03/04 DOTA
基于Python pip用国内镜像下载的方法
2018/06/12 Python
python pygame实现挡板弹球游戏
2019/11/25 Python
TensorFlow内存管理bfc算法实例
2020/02/03 Python
浅析python 通⽤爬⾍和聚焦爬⾍
2020/09/28 Python
值得收藏的HTML5资源(学习html5的朋友可以收藏下)
2010/07/20 HTML / CSS
Parts Express:音频、视频和扬声器的第一来源
2017/04/25 全球购物
在C++ 程序中调用被C 编译器编译后的函数,为什么要加extern "C"
2014/08/09 面试题
招商业务员岗位职责
2013/12/16 职场文书
2014年乡镇工作总结
2014/11/21 职场文书
新店开业策划方案怎么书写?
2019/07/05 职场文书
Java基础-封装和继承
2021/07/02 Java/Android
关于 Python json中load和loads区别
2021/11/07 Python