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 socket函数中,send与sendall的区别与使用方法
May 09 Python
python运行其他程序的实现方法
Jul 14 Python
python自动化报告的输出用例详解
May 30 Python
python 遍历目录(包括子目录)下所有文件的实例
Jul 11 Python
django+xadmin+djcelery实现后台管理定时任务
Aug 14 Python
对python捕获ctrl+c手工中断程序的两种方法详解
Dec 26 Python
Python selenium根据class定位页面元素的方法
Feb 26 Python
详解Python连接MySQL数据库的多种方式
Apr 16 Python
Python loguru日志库之高效输出控制台日志和日志记录
Mar 07 Python
Python内存泄漏和内存溢出的解决方案
Sep 26 Python
python爬取youtube视频的示例代码
Mar 03 Python
python删除csv文件的行列
Apr 06 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
smarty内置函数section的用法
2015/01/22 PHP
php获取、检查类名、函数名、方法名的函数方法
2015/06/25 PHP
PHP实现爬虫爬取图片代码实例
2021/03/03 PHP
通过JS 获取Mouse Position(鼠标坐标)的代码
2009/09/21 Javascript
XENON基于JSON变种
2010/07/27 Javascript
Javascript面象对象成员、共享成员变量实验
2010/11/19 Javascript
一款jquery特效编写的大度宽屏焦点图切换特效的实例代码
2013/08/05 Javascript
使用mini-define实现前端代码的模块化管理
2014/12/25 Javascript
Javascript类型转换的规则实例解析
2016/02/23 Javascript
编写高质量JavaScript代码的基本要点
2016/03/02 Javascript
Treegrid的动态加载实例代码
2016/04/29 Javascript
KnockoutJS 3.X API 第四章之数据控制流component绑定
2016/10/10 Javascript
详解express与koa中间件模式对比
2017/08/07 Javascript
node.js文件上传重命名以及移动位置的示例代码
2018/01/19 Javascript
微信公众平台 客服接口发消息的实现代码(Java接口开发)
2019/04/17 Javascript
解决cordova+vue 项目打包成APK应用遇到的问题
2019/05/10 Javascript
手把手带你搭建一个node cli的方法示例
2020/08/07 Javascript
解决vue watch数据的方法被调用了两次的问题
2020/11/07 Javascript
[02:24]DOTA2亚洲邀请赛 NAVI战队出场宣传片
2015/02/07 DOTA
python的Template使用指南
2014/09/11 Python
使用pandas对两个dataframe进行join的实例
2018/06/08 Python
在Pandas中给多层索引降级的方法
2018/11/16 Python
django如何实现视图重定向
2019/07/24 Python
python+opencv边缘提取与各函数参数解析
2020/03/09 Python
selenium与xpath之获取指定位置的元素的实现
2021/01/26 Python
微信浏览器左上角返回按钮拦截功能
2017/11/21 HTML / CSS
纽约21世纪百货官网:Century 21
2016/08/27 全球购物
护理职业应聘自荐书
2013/09/29 职场文书
大二学生学年自我鉴定
2014/09/12 职场文书
大一新生期末自我评价
2014/09/12 职场文书
2014年乡镇人大工作总结
2014/11/25 职场文书
应届毕业生求职简历自我评价
2015/03/02 职场文书
2016年社区创先争优活动总结
2016/04/05 职场文书
opencv-python图像配准(匹配和叠加)的实现
2021/06/23 Python
一文了解MYSQL三大范式和表约束
2022/04/03 MySQL
python中redis包操作数据库的教程
2022/04/19 Python