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脚本简单实现打开默认浏览器登录人人和打开QQ的方法
Apr 12 Python
python将.ppm格式图片转换成.jpg格式文件的方法
Oct 27 Python
Python小白必备的8个最常用的内置函数(推荐)
Apr 03 Python
Django在admin后台集成TinyMCE富文本编辑器的例子
Aug 09 Python
python 实现dict转json并保存文件
Dec 05 Python
关于python pycharm中输出的内容不全的解决办法
Jan 10 Python
解决Django提交表单报错:CSRF token missing or incorrect的问题
Mar 13 Python
基于Python脚本实现邮件报警功能
May 20 Python
Python偏函数Partial function使用方法实例详解
Jun 17 Python
python 获取字典键值对的实现
Nov 12 Python
PyTorch 中的傅里叶卷积实现示例
Dec 11 Python
python中Tkinter 窗口之输入框和文本框的实现
Apr 12 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/01 无线电
第一个无线电台是由谁发明的
2021/03/01 无线电
PHP中获取内网用户MAC地址(WINDOWS/linux)的实现代码
2011/08/11 PHP
PHP程序中的文件锁、互斥锁、读写锁使用技巧解析
2016/03/21 PHP
PHP从零开始打造自己的MVC框架之入口文件实现方法详解
2019/06/03 PHP
ThinkPHP 5.1 跨域配置方法
2019/10/11 PHP
Nigma vs Alliance BO5 第四场2.14
2021/03/10 DOTA
javascript 无提示关闭窗口脚本
2009/08/17 Javascript
Javascript Math ceil()、floor()、round()三个函数的区别
2010/03/09 Javascript
javascript,jquery闭包概念分析
2010/06/19 Javascript
jQuery无刷新切换主题皮肤实例讲解
2015/10/21 Javascript
JavaScript实现多种排序算法
2016/02/24 Javascript
JS中Array数组学习总结
2017/01/18 Javascript
angularjs实现的前端分页控件示例
2017/02/10 Javascript
Angular JS 生成动态二维码的方法
2017/02/23 Javascript
微信小程序支付之c#后台实现方法
2017/10/19 Javascript
vue自定义指令directive实例详解
2018/01/17 Javascript
深入浅析Vue中的 computed 和 watch
2018/06/06 Javascript
JS实现图片旋转动画效果封装与使用示例
2018/07/09 Javascript
vue+express+jwt持久化登录的方法
2019/06/14 Javascript
jQuery实现回到顶部效果
2020/10/19 jQuery
使用Python的urllib2模块处理url和图片的技巧两则
2016/02/18 Python
Python 模拟购物车的实例讲解
2017/09/11 Python
python 上下文管理器使用方法小结
2017/10/10 Python
Python cookbook(数据结构与算法)将序列分解为单独变量的方法
2018/02/13 Python
使用python存储网页上的图片实例
2018/05/22 Python
python匿名函数用法实例分析
2019/08/03 Python
Python操作远程服务器 paramiko模块详细介绍
2019/08/07 Python
利用 Flask 动态展示 Pyecharts 图表数据方法小结
2019/09/04 Python
基于Python实现拆分和合并GIF动态图
2019/10/22 Python
详解HTML5 Canvas绘制不规则图形时的非零环绕原则
2016/03/21 HTML / CSS
移动端html5模拟长按事件的实现方法
2018/09/30 HTML / CSS
关于Java finally的面试题
2016/04/27 面试题
《雪地里的小画家》教学反思
2014/02/22 职场文书
2014年旅游局法制宣传日活动总结
2014/11/01 职场文书
公司行政助理岗位职责
2015/04/11 职场文书