Python实现屏幕截图的代码及函数详解


Posted in Python onOctober 01, 2016

废话不多说,先给大家看下python实现屏幕截图的代码,具体代码如下所述:

from selenium import webdriver
import time
def capture(url, save_fn="capture.png"):
browser = webdriver.Firefox() # Get local session of firefox
browser.set_window_size(1200, 900)
browser.get(url) # Load page
browser.execute_script("""
(function () {
var y = 0;
var step = 100;
window.scroll(0, 0);
function f() {
if (y < document.body.scrollHeight) {
y += step;
window.scroll(0, y);
setTimeout(f, 50);
} else {
window.scroll(0, 0);
document.title += "scroll-done";
}
}setTimeout(f, 1000);
})();
""")
for i in xrange(30):
if "scroll-done" in browser.title:
break
time.sleep(1)
browser.save_screenshot(save_fn)
browser.close()
if __name__ == "__main__":
capture(https://3water.com)

Pythony实现屏幕截屏的函数如下所述:

# -*- coding: cp936 -*- 
import time,Image 
import os, win32gui, win32ui, win32con, win32api 
def window_capture(dpath): 
''''' 
截屏函数,调用方法window_capture('d:\\') ,参数为指定保存的目录 
返回图片文件名,文件名格式:日期.jpg 如:2009328224853.jpg 
'''
hwnd = 0
hwndDC = win32gui.GetWindowDC(hwnd) 
mfcDC=win32ui.CreateDCFromHandle(hwndDC) 
saveDC=mfcDC.CreateCompatibleDC() 
saveBitMap = win32ui.CreateBitmap() 
MoniterDev=win32api.EnumDisplayMonitors(None,None) 
w = MoniterDev[0][2][2] 
h = MoniterDev[0][2][3] 
#print w,h #图片大小 
saveBitMap.CreateCompatibleBitmap(mfcDC, w, h) 
saveDC.SelectObject(saveBitMap) 
saveDC.BitBlt((0,0),(w, h) , mfcDC, (0,0), win32con.SRCCOPY) 
cc=time.gmtime() 
bmpname=str(cc[0])+str(cc[1])+str(cc[2])+str(cc[3]+8)+str(cc[4])+str(cc[5])+'.bmp'
saveBitMap.SaveBitmapFile(saveDC, bmpname) 
Image.open(bmpname).save(bmpname[:-4]+".jpg") 
os.remove(bmpname) 
jpgname=bmpname[:-4]+'.jpg'
djpgname=dpath+jpgname 
copy_command = "move %s %s" % (jpgname, djpgname) 
os.popen(copy_command) 
return bmpname[:-4]+'.jpg'
#调用截屏函数 
window_capture('d:\\')

以上所述是小编给大家分享的Python实现屏幕截图的代码及函数详解,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的,在此有非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
跟老齐学Python之玩转字符串(2)
Sep 14 Python
python实现删除文件与目录的方法
Nov 10 Python
Python实现加载及解析properties配置文件的方法
Mar 29 Python
python爬虫获取百度首页内容教学
Dec 23 Python
mac系统下Redis安装和使用步骤详解
Jul 09 Python
wxPython修改文本框颜色过程解析
Feb 14 Python
如何使用Pytorch搭建模型
Oct 26 Python
Python中使用Lambda函数的5种用法
Apr 01 Python
python中的None与NULL用法说明
May 25 Python
pytorch Dropout过拟合的操作
May 27 Python
Python基础知识学习之类的继承
May 31 Python
Anaconda安装pytorch及配置PyCharm 2021环境
Jun 04 Python
Python爬取APP下载链接的实现方法
Sep 30 #Python
Python脚本实现12306火车票查询系统
Sep 30 #Python
Python ldap实现登录实例代码
Sep 30 #Python
python之Socket网络编程详解
Sep 29 #Python
python 排序算法总结及实例详解
Sep 28 #Python
一些常用的Python爬虫技巧汇总
Sep 28 #Python
Python三级目录展示的实现方法
Sep 28 #Python
You might like
PHP实现原生态图片上传封装类方法
2016/11/08 PHP
PHP使用正则表达式实现过滤非法字符串功能示例
2018/06/04 PHP
jquery BS,dialog控件自适应大小
2009/07/06 Javascript
js实现具有高亮显示效果的多级菜单代码
2015/09/01 Javascript
CSS或者JS实现鼠标悬停显示另一元素
2016/01/22 Javascript
js实现的鼠标滚轮滚动切换页面效果(类似360默认页面滚动切换效果)
2016/01/27 Javascript
基于javascript实现全国省市二级联动下拉选择菜单
2016/01/28 Javascript
ionic实现滑动的三种方式
2016/08/27 Javascript
javascript 四十条常用技巧大全
2016/09/09 Javascript
jquery checkbox的相关操作总结
2016/10/17 Javascript
js代码实现下拉菜单【推荐】
2016/12/15 Javascript
原生js实现放大镜效果
2017/01/11 Javascript
vue实现添加标签demo示例代码
2017/01/21 Javascript
vue.js移动端app之上拉加载以及下拉刷新实战
2017/09/11 Javascript
BootStrap 标题设置跨行无效的解决方法
2017/10/25 Javascript
VSCode 配置React Native开发环境的方法
2017/12/27 Javascript
vue 自定义全局方法,在组件里面的使用介绍
2018/02/28 Javascript
JS面试题大坑之隐式类型转换实例代码
2018/10/14 Javascript
解决layui的table插件无法多层级获取json数据的问题
2019/09/19 Javascript
[58:42]DOTA2上海特级锦标赛C组败者赛 Newbee VS Archon第一局
2016/02/27 DOTA
在Python下利用OpenCV来旋转图像的教程
2015/04/16 Python
Python实现的中国剩余定理算法示例
2017/08/05 Python
Python设计模式之中介模式简单示例
2018/01/09 Python
详解Python3 中hasattr()、getattr()、setattr()、delattr()函数及示例代码数
2018/04/18 Python
python计算日期之间的放假日期
2018/06/05 Python
Python中的self用法详解
2019/08/06 Python
Python Web框架之Django框架cookie和session用法分析
2019/08/16 Python
30秒学会30个超实用Python代码片段【收藏版】
2019/10/15 Python
Tensorflow Summary用法学习笔记
2020/01/10 Python
Python基于wordcloud及jieba实现中国地图词云图
2020/06/09 Python
美国领先的家庭健康检测试剂盒提供商:LetsGetChecked
2019/03/18 全球购物
我的中国心演讲稿
2014/09/04 职场文书
城管执法人员个人对照检查材料思想汇报
2014/09/29 职场文书
2015年财务部工作总结
2015/04/10 职场文书
MySQL中utf8mb4排序规则示例
2021/08/02 MySQL
详细聊聊MySQL中慢SQL优化的方向
2021/08/30 MySQL