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实现微信模板消息
Dec 21 Python
Sanic框架异常处理与中间件操作实例分析
Jul 16 Python
使用python实现语音文件的特征提取方法
Jan 09 Python
通过shell+python实现企业微信预警
Mar 07 Python
django框架基于模板 生成 excel(xls) 文件操作示例
Jun 19 Python
python 矢量数据转栅格数据代码实例
Sep 30 Python
如何基于Python实现自动扫雷
Jan 06 Python
Python流程控制常用工具详解
Feb 24 Python
python中wheel的用法整理
Jun 15 Python
Python爬虫抓取指定网页图片代码实例
Jul 24 Python
Python3接口性能测试实例代码
Jun 20 Python
python 中yaml文件用法大全
Jul 04 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
JAVA/JSP学习系列之七
2006/10/09 PHP
PHP时间戳与日期之间转换的实例介绍
2013/04/19 PHP
PHP实现导出带样式的Excel
2016/08/28 PHP
JavaScript中reduce()方法的使用详解
2015/06/09 Javascript
JavaScript阻止回车提交表单的方法
2015/12/30 Javascript
jQuery手风琴的简单制作
2017/05/12 jQuery
Vue.js如何实现路由懒加载浅析
2017/08/14 Javascript
Mongoose实现虚拟字段查询的方法详解
2017/08/15 Javascript
js input输入百分号保存数据库失败的解决方法
2018/05/26 Javascript
利用chrome浏览器进行js调试并找出元素绑定的点击事件详解
2021/01/30 Javascript
JavaScript 九种跨域方式实现原理
2019/02/11 Javascript
VUE项目初建和常见问题总结
2019/09/12 Javascript
vue实现数字动态翻牌的效果(开箱即用)
2019/12/08 Javascript
使用JavaScript实现网页秒表功能(含开始、暂停、继续、重置功能)
2020/06/05 Javascript
Python中的日期时间处理详解
2016/11/17 Python
Python 专题四 文件基础知识
2017/03/20 Python
python字典操作实例详解
2017/11/16 Python
pycharm打开命令行或Terminal的方法
2019/01/16 Python
很酷的python表白工具 你喜欢我吗
2019/04/11 Python
python修改FTP服务器上的文件名
2019/09/11 Python
python 模拟创建seafile 目录操作示例
2019/09/26 Python
pyinstaller打包找不到文件的问题解决
2020/04/15 Python
浅谈pytorch 模型 .pt, .pth, .pkl的区别及模型保存方式
2020/05/25 Python
升级keras解决load_weights()中的未定义skip_mismatch关键字问题
2020/06/12 Python
Python类成员继承重写的实现
2020/09/16 Python
Python安装并操作redis实现流程详解
2020/10/13 Python
WoolOvers爱尔兰:羊绒、羊毛和棉针织品
2017/01/04 全球购物
西班牙第一的网上药房:PromoFarma.com
2017/04/17 全球购物
单位办理社保介绍信
2014/01/10 职场文书
人力资源主管的岗位职责
2014/03/15 职场文书
12.4法制宣传日活动总结
2014/08/26 职场文书
交通事故委托书范本
2014/09/28 职场文书
给老师的一封感谢信
2015/01/20 职场文书
如何用JavaScript学习算法复杂度
2021/04/30 Javascript
2022年四月新番
2022/03/15 日漫
DQL数据查询语句使用示例
2022/12/24 MySQL