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中操作MySQL入门实例
Feb 08 Python
python类中super()和__init__()的区别
Oct 18 Python
python安装cx_Oracle模块常见问题与解决方法
Feb 21 Python
Python unittest单元测试框架总结
Sep 08 Python
Python3爬虫学习之应对网站反爬虫机制的方法分析
Dec 12 Python
Python寻找路径和查找文件路径的示例
Jul 10 Python
用python生成与调用cntk模型代码演示方法
Aug 26 Python
python rsync服务器之间文件夹同步脚本
Aug 29 Python
PyTorch学习:动态图和静态图的例子
Jan 06 Python
使用Python实现牛顿法求极值
Feb 10 Python
python3 使用traceback定位异常实例
Mar 09 Python
python 实现端口扫描工具
Dec 18 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
用来解析.htgroup文件的PHP类
2012/09/05 PHP
为你总结一些php信息函数
2015/10/21 PHP
php提交post数组参数实例分析
2015/12/17 PHP
PHP实现的线索二叉树及二叉树遍历方法详解
2016/04/25 PHP
ThinkPHP框架实现导出excel数据的方法示例【基于PHPExcel】
2018/05/12 PHP
PHP抽象类基本用法示例
2018/12/28 PHP
Yii框架的路由配置方法分析
2019/09/09 PHP
jquery 入门教程 [翻译] 推荐
2009/08/17 Javascript
一个JQuery写的点击上下滚动的小例子
2011/08/27 Javascript
一个JavaScript用逗号分割字符串实例
2014/09/22 Javascript
jQuery自动添加表单项的方法
2015/07/13 Javascript
JavaScript实现点击单选按钮改变输入框中文本域内容的方法
2015/08/12 Javascript
JavaScript  event对象整理及详细介绍
2016/10/10 Javascript
AngularJS 与Bootstrap实现表格分页实例代码
2016/10/14 Javascript
Bootstrap Table使用心得总结
2016/11/29 Javascript
微信小程序 二维码canvas绘制实例详解
2017/01/06 Javascript
canvas实现环形进度条效果
2017/03/23 Javascript
jQuery选择器之子元素过滤选择器
2017/09/28 jQuery
Vue下拉框回显并默认选中随机问题
2018/09/06 Javascript
详解如何用VUE写一个多用模态框组件模版
2018/09/27 Javascript
js中async函数结合promise的小案例浅析
2019/04/14 Javascript
vue递归获取父元素的元素实例
2020/08/07 Javascript
js实现简单的倒计时
2021/01/28 Javascript
Python的Tornado框架异步编程入门实例
2015/04/24 Python
Python使用django搭建web开发环境
2017/06/09 Python
Python实现的文本编辑器功能示例
2017/06/30 Python
Python入门之三角函数tan()函数实例详解
2017/11/08 Python
Python语言生成水仙花数代码示例
2017/12/18 Python
在python3.5中使用OpenCV的实例讲解
2018/04/02 Python
土耳其新趋势女装购物网站:Addax
2020/01/07 全球购物
楼面经理岗位职责范本
2014/02/18 职场文书
试用期自我鉴定范文
2014/03/20 职场文书
献爱心倡议书
2014/04/14 职场文书
2015年员工试用期工作总结
2015/05/28 职场文书
老舍《猫》教学反思
2016/02/17 职场文书
JAVA 线程池(池化技术)的实现原理
2022/04/28 Java/Android