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将纳入高考你怎么看?
Jun 07 Python
python使用opencv驱动摄像头的方法
Aug 03 Python
Python之列表实现栈的工作功能
Jan 28 Python
Python使用Pickle模块进行数据保存和读取的讲解
Apr 09 Python
python调用支付宝支付接口流程
Aug 15 Python
使用python实现离散时间傅里叶变换的方法
Sep 02 Python
Python中断多重循环的几种方式详解
Feb 10 Python
Python对象的属性访问过程详解
Mar 05 Python
Python如何用wx模块创建文本编辑器
Jun 07 Python
python属于软件吗
Jun 18 Python
Python如何将装饰器定义为类
Jul 30 Python
用python画城市轮播地图
May 28 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 使用post,get的一种简洁方式
2010/04/25 PHP
php跨域cookie共享使用方法
2014/02/20 PHP
php实现图片上传并利用ImageMagick生成缩略图
2016/03/14 PHP
Smarty模板常见的简单应用分析
2016/11/15 PHP
php实现查询功能(数据访问)
2017/05/23 PHP
JS 动态加载脚本的4种方法
2009/05/05 Javascript
从零开始学习jQuery (四) jQuery中操作元素的属性与样式
2011/02/23 Javascript
JQuery页面图片切换和新闻列表滚动效果的具体实现
2013/09/26 Javascript
js 一个关于图片onload加载的事
2013/11/10 Javascript
Javascript的&&和||的另类用法
2014/07/23 Javascript
node.js中的path.resolve方法使用说明
2014/12/08 Javascript
input点击后placeholder中的提示消息消失
2016/01/15 Javascript
BootStrap 弹出层代码
2017/02/09 Javascript
JavaScript订单操作小程序完整版
2017/06/23 Javascript
jQuery扩展_动力节点Java学院整理
2017/07/05 jQuery
JavaScript requestAnimationFrame动画详解
2017/09/14 Javascript
用js实现每隔一秒刷新时间的实例(含年月日时分秒)
2017/10/25 Javascript
js判断输入框不能为空格或null值的实现方法
2018/03/02 Javascript
vue 根据数组中某一项的值进行排序的方法
2018/08/30 Javascript
Vue.js 中的 v-model 指令及绑定表单元素的方法
2018/12/03 Javascript
js仿360开机效果
2019/12/26 Javascript
vue界面发送表情的实现代码
2020/09/11 Javascript
使用Vant完成DatetimePicker 日期的选择器操作
2020/11/12 Javascript
python学习笔记--将python源文件打包成exe文件(pyinstaller)
2018/05/26 Python
python实现全盘扫描搜索功能的方法
2019/02/14 Python
python如何实现代码检查
2019/06/28 Python
python将数组n等分的实例
2019/12/02 Python
python、PyTorch图像读取与numpy转换实例
2020/01/13 Python
python实现批量转换图片为黑白
2020/06/16 Python
Python常用数据分析模块原理解析
2020/07/20 Python
CSS 说明横向进度条最后显示文字的实现代码
2020/11/10 HTML / CSS
大学生村官任职感言
2014/01/09 职场文书
职代会闭幕词
2015/01/28 职场文书
反邪教观后感
2015/06/11 职场文书
Python基础之操作MySQL数据库
2021/05/06 Python
使用Django实现商城验证码模块的方法
2021/06/01 Python