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简单分割文件的方法
Jul 30 Python
Fiddler如何抓取手机APP数据包
Jan 22 Python
玩转python爬虫之URLError异常处理
Feb 17 Python
Python运维之获取系统CPU信息的实现方法
Jun 11 Python
Python读取txt内容写入xls格式excel中的方法
Oct 11 Python
浅析Python 中几种字符串格式化方法及其比较
Jul 02 Python
Python3远程监控程序的实现方法
Jul 15 Python
Python解析json时提示“string indices must be integers”问题解决方法
Jul 31 Python
Django+zTree构建组织架构树的方法
Aug 21 Python
Python3如何使用多线程升程序运行速度
Aug 11 Python
python修改微信和支付宝步数的示例代码
Oct 12 Python
使用BeautifulSoup4解析XML的方法小结
Dec 07 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文件的实现方法
2007/03/19 PHP
解析PHP自带的进位制之间的转换函数
2013/06/08 PHP
php使用json_encode对变量json编码
2014/04/07 PHP
PHP数组编码gbk与utf8互相转换的两种方法
2016/09/01 PHP
JavaScript计时器示例分析
2015/02/05 Javascript
jquery获取img的src值的简单实例
2016/05/17 Javascript
jquery计算出left和top,让一个div水平垂直居中的简单实例
2016/07/13 Javascript
详细解读Jquery各Ajax函数($.get(),$.post(),$.ajax(),$.getJSON())
2016/08/15 Javascript
概述VUE2.0不可忽视的很多变化
2016/09/25 Javascript
mvc 、bootstrap 结合分布式图简单实现分页
2016/10/10 Javascript
利用vue + koa2 + mockjs模拟数据的方法教程
2017/11/22 Javascript
JS遍历DOM文档树的方法实例详解
2018/04/03 Javascript
详解如何使用nvm管理Node.js多版本
2019/05/06 Javascript
javascript实现的时间格式加8小时功能示例
2019/06/13 Javascript
Net微信网页开发 使用微信JS-SDK获取当前地理位置过程详解
2019/08/26 Javascript
Vue表单控件数据绑定方法详解
2020/02/05 Javascript
js实现网页版贪吃蛇游戏
2020/02/22 Javascript
微信小程序中的列表切换功能实例代码详解
2020/06/09 Javascript
Vue实现一种简单的无限循环滚动动画的示例
2021/01/10 Vue.js
[04:09]2018年度DOTA2社区贡献奖-完美盛典
2018/12/16 DOTA
linux系统使用python监测系统负载脚本分享
2014/01/15 Python
用Python实现一个简单的线程池
2015/04/07 Python
使用python实现unix2dos和dos2unix命令的例子
2019/08/13 Python
python 列表推导式使用详解
2019/08/29 Python
Django中自定义模型管理器(Manager)及方法
2019/09/23 Python
浅谈html5标签css3的常用样式
2016/10/20 HTML / CSS
Charles&Keith美国官方网站:新加坡快时尚鞋类和配饰零售商
2019/11/27 全球购物
教师自我鉴定
2013/12/13 职场文书
酒店销售经理岗位职责
2014/01/31 职场文书
社区春季防火方案
2014/06/02 职场文书
泰山导游词
2015/02/02 职场文书
红旗渠导游词
2015/02/09 职场文书
薪资证明范本
2015/06/19 职场文书
一个成功的互联网创业项目,必须满足这些要求
2019/08/23 职场文书
Python爬取某拍短视频
2021/06/11 Python
iSCSI服务器CHAP双向认证配置
2022/04/01 Servers