Python如何截图保存的三种方法(小结)


Posted in Python onSeptember 01, 2020

本文介绍python如何进行截图保存的几种方法,在测试过程中,是有必要截图,特别是遇到错误的时候进行截图。结合Python其它模块如time ,os.path,基本能满足截图保存文件的功能需求

第一种 selenium for python

Python如何截图保存的三种方法(小结)

get_screenshot_as_file()

相关代码如下:

# coding=utf-8
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()

第二种 使用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进行新浪微博的mid和url互相转换实例(10进制和62进制互算)
Apr 25 Python
举例讲解Python设计模式编程中的访问者与观察者模式
Jan 26 Python
Python批处理更改文件名os.rename的方法
Oct 26 Python
Pycharm无法显示动态图片的解决方法
Oct 28 Python
Python3.5 + sklearn利用SVM自动识别字母验证码方法示例
May 10 Python
Python 等分切分数据及规则命名的实例代码
Aug 16 Python
一行Python代码制作动态二维码的实现
Sep 09 Python
Python中有几个关键字
Jun 04 Python
Python内置方法和属性应用:反射和单例(推荐)
Jun 19 Python
python查询MySQL将数据写入Excel
Oct 29 Python
Python eval函数介绍及用法
Nov 09 Python
python缺失值的解决方法总结
Jun 09 Python
Python连接mysql方法及常用参数
Sep 01 #Python
python3:excel操作之读取数据并返回字典 + 写入的案例
Sep 01 #Python
Python+Selenium实现自动化的环境搭建的步骤(图文)
Sep 01 #Python
Django如何批量创建Model
Sep 01 #Python
python 解决selenium 中的 .clear()方法失效问题
Sep 01 #Python
一文详述 Python 中的 property 语法
Sep 01 #Python
Python Opencv轮廓常用操作代码实例解析
Sep 01 #Python
You might like
PHP中__get()和__set()的用法实例详解
2013/06/04 PHP
php使用百度天气接口示例
2014/04/22 PHP
PHP英文字母大小写转换函数小结
2014/05/03 PHP
php画图实例
2014/11/05 PHP
4种Windows系统下Laravel框架的开发环境安装及部署方法详解
2020/04/06 PHP
ASP 过滤数组重复数据函数(加强版)
2010/05/31 Javascript
jquery删除指定的html标签并保留标签内文本内容的方法
2014/04/02 Javascript
window.open不被拦截的简单实现代码(推荐)
2016/08/04 Javascript
JS获取和修改元素样式的实例代码
2016/08/06 Javascript
AngularJS之页面跳转Route实例代码
2017/03/10 Javascript
深入理解React中何时使用箭头函数
2017/08/23 Javascript
基于JavaScript实现评论框展开和隐藏功能
2017/08/25 Javascript
JS实现的简单四则运算计算器功能示例
2017/09/27 Javascript
详解用Node.js实现Restful风格webservice
2017/09/29 Javascript
Node.js中DNS模块学习总结
2018/02/28 Javascript
浅谈element中InfiniteScroll按需引入的一点注意事项
2020/06/05 Javascript
使用React-Router实现前端路由鉴权的示例代码
2020/07/26 Javascript
Python与人工神经网络:使用神经网络识别手写图像介绍
2017/12/19 Python
ubuntu安装sublime3并配置python3环境的方法
2018/03/15 Python
python实现手机销售管理系统
2019/03/19 Python
使用Python在Windows下获取USB PID&VID的方法
2019/07/02 Python
Python识别快递条形码及Tesseract-OCR使用详解
2019/07/15 Python
Python使用指定端口进行http请求的例子
2019/07/25 Python
Python 合并多个TXT文件并统计词频的实现
2019/08/23 Python
Python 实现取多维数组第n维的前几位
2019/11/26 Python
使用Tensorflow实现可视化中间层和卷积层
2020/01/24 Python
opencv-python的RGB与BGR互转方式
2020/06/02 Python
Java爬虫技术框架之Heritrix框架详解
2020/07/22 Python
python修改微信和支付宝步数的示例代码
2020/10/12 Python
python中使用.py配置文件的方法详解
2020/11/23 Python
高级运动鞋:GREATS
2019/07/19 全球购物
简述进程的启动、终止的方式以及如何进行进程的查看
2014/02/20 面试题
大专生自我鉴定范文
2013/10/01 职场文书
授权委托书怎么写
2014/04/03 职场文书
心理学培训心得体会
2016/01/22 职场文书
Python Django / Flask如何使用Elasticsearch
2022/04/19 Python