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实现获取网站PR及百度权重
Jan 21 Python
用Python实现换行符转换的脚本的教程
Apr 16 Python
Python下线程之间的共享和释放示例
May 04 Python
python 实现自动远程登陆scp文件实例代码
Mar 13 Python
Python学习pygal绘制线图代码分享
Dec 09 Python
浅谈python连续赋值可能引发的错误
Nov 10 Python
python修改文件内容的3种方法详解
Nov 15 Python
Python 实现Numpy中找出array中最大值所对应的行和列
Nov 26 Python
如何基于Python实现数字类型转换
Feb 07 Python
Python爬虫实现模拟点击动态页面
Mar 05 Python
pandas中DataFrame数据合并连接(merge、join、concat)
May 30 Python
Python深度学习之实现卷积神经网络
Jun 05 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网页木马一枚 附PHP木马的防范方法
2009/10/09 PHP
php后台程序与Javascript的两种交互方式
2009/10/25 PHP
php基础学习之变量的使用
2011/06/09 PHP
php简单生成随机数的方法
2015/07/30 PHP
浅谈PHP错误类型及屏蔽方法
2017/05/27 PHP
php微信公众号开发之秒杀
2018/10/20 PHP
JavaScript.The.Good.Parts阅读笔记(一)假值与===运算符
2010/11/16 Javascript
jQuery ul标签下拉菜单演示代码
2010/12/11 Javascript
js动态创建上传表单通过iframe模拟Ajax实现无刷新
2014/02/20 Javascript
JavaScript验证18位身份证号码最后一位正确性的实现代码
2014/08/07 Javascript
jquery制作漂亮的弹出层提示消息特效
2014/12/23 Javascript
javascript中Date()函数在各浏览器中的显示效果
2015/06/18 Javascript
Jquery跨域获得Json的简单实例
2016/05/18 Javascript
使用JavaScript获取URL中的参数(两种方法)
2016/11/16 Javascript
jQuery控制元素隐藏和显示
2017/03/03 Javascript
Javascript循环删除数组中元素的几种方法示例
2017/05/18 Javascript
js+html5实现页面可刷新的倒计时效果
2017/07/15 Javascript
javascript中神奇的 Date对象小结
2017/10/12 Javascript
vue地区选择组件教程详解
2018/05/04 Javascript
[02:08]我的刀塔不可能这么可爱 胡晓桃_1
2014/06/20 DOTA
RC4文件加密的python实现方法
2015/06/30 Python
Python查询IP地址归属完整代码
2017/06/21 Python
Python实现爬取需要登录的网站完整示例
2017/08/19 Python
windows下安装Python的XlsxWriter模块方法
2018/05/03 Python
python模块导入的细节详解
2018/12/10 Python
PyQt5+Caffe+Opencv搭建人脸识别登录界面
2019/08/28 Python
python实现代码统计程序
2019/09/19 Python
Python 实现敏感目录扫描的示例代码
2020/05/21 Python
Python timeit模块原理及使用方法
2020/10/10 Python
Python实现淘宝秒杀功能的示例代码
2021/01/19 Python
python+playwright微软自动化工具的使用
2021/02/02 Python
匡威荷兰官方网站:Converse荷兰
2018/10/24 全球购物
W Hamond官网:始于1979年的钻石专家
2020/07/20 全球购物
2014年老干部工作总结
2014/11/21 职场文书
Python游戏开发实例之graphics实现AI五子棋
2021/11/01 Python
微信小程序纯CSS实现无限弹幕滚动效果
2022/09/23 HTML / CSS