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中用pycurl监控http响应时间脚本分享
Feb 02 Python
Python验证码识别处理实例
Dec 28 Python
深入浅出学习python装饰器
Sep 29 Python
python定时关机小脚本
Jun 20 Python
Python 抓取微信公众号账号信息的方法
Jun 14 Python
python 使用matplotlib 实现从文件中读取x,y坐标的可视化方法
Jul 04 Python
python实现LBP方法提取图像纹理特征实现分类的步骤
Jul 11 Python
python re.sub()替换正则的匹配内容方法
Jul 22 Python
基于Python+Appium实现京东双十一自动领金币功能
Oct 31 Python
Python 中判断列表是否为空的方法
Nov 24 Python
python数据预处理 :数据抽样解析
Feb 24 Python
python 3.8.3 安装配置图文教程
May 21 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面向对象public private protected 访问修饰符
2013/06/30 PHP
php+js实现图片的上传、裁剪、预览、提交示例
2013/08/27 PHP
ThinkPHP令牌验证实例
2014/06/18 PHP
php将html转成wml的WAP标记语言实例
2015/07/08 PHP
PHP基于yii框架实现生成ICO图标
2015/11/13 PHP
php阿拉伯数字转中文人民币大写
2015/12/21 PHP
DWZ table的原生分页浅谈
2013/03/01 Javascript
javascript获取隐藏dom的宽高 具体实现
2013/07/14 Javascript
JS获取checkbox的个数简单实例
2016/08/19 Javascript
Javascript之深入浅出prototype
2017/02/06 Javascript
浅谈react+es6+webpack的基础配置
2017/08/09 Javascript
JS中touchstart事件与click事件冲突的解决方法
2018/03/12 Javascript
vue中使用element组件时事件想要传递其他参数的问题
2019/09/18 Javascript
electron-vue开发环境内存泄漏问题汇总
2019/10/10 Javascript
JavaScript实现H5接金币功能(实例代码)
2021/02/22 Javascript
Python操作CouchDB数据库简单示例
2015/03/10 Python
详解Python中with语句的用法
2015/04/15 Python
在Python中使用PIL模块对图片进行高斯模糊处理的教程
2015/05/05 Python
Python实现全角半角字符互转的方法
2016/11/28 Python
Python使用cx_Oracle调用Oracle存储过程的方法示例
2017/10/07 Python
几种实用的pythonic语法实例代码
2018/02/24 Python
python2.7和NLTK安装详细教程
2018/09/19 Python
python通过实例讲解反射机制
2019/10/17 Python
python代码xml转txt实例
2020/03/10 Python
整理HTML5移动端开发的常用触摸事件
2016/04/15 HTML / CSS
三只松鼠官方旗舰店:全网坚果销售第1
2017/11/25 全球购物
英国家电购物网站:Sonic Direct
2019/03/26 全球购物
李维斯牛仔裤荷兰官方网站:Levi’s NL
2020/08/23 全球购物
Java和Javasciprt的区别
2012/09/02 面试题
应届专科生个人的自我评价
2014/01/05 职场文书
优质服务演讲稿
2014/05/14 职场文书
职员竞岗演讲稿
2014/05/14 职场文书
门店业绩提升方案
2014/06/08 职场文书
撤诉书怎么写
2015/05/19 职场文书
html中相对位置与绝对位置的具体使用
2022/05/15 HTML / CSS
Win11 21h2可以升级22h2吗?看看你的电脑符不符合要求
2022/07/07 数码科技