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判断文件和文件夹是否存在的方法
May 21 Python
python常用知识梳理(必看篇)
Mar 23 Python
Python实现读取及写入csv文件的方法示例
Jan 12 Python
Python闭包函数定义与用法分析
Jul 20 Python
Python基于多线程实现ping扫描功能示例
Jul 23 Python
pygame游戏之旅 添加游戏界面按键图形
Nov 20 Python
pyshp创建shp点文件的方法
Dec 31 Python
PyTorch之图像和Tensor填充的实例
Aug 18 Python
Pytorch 保存模型生成图片方式
Jan 10 Python
浅析python 字典嵌套
Sep 29 Python
Python 删除List元素的三种方法remove、pop、del
Nov 16 Python
Python自动化测试PO模型封装过程详解
Jun 22 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 文章调用类代码
2011/08/11 PHP
php正则表达式(regar expression)
2011/09/10 PHP
基于initPHP的框架介绍
2013/04/18 PHP
php5.5新数组函数array_column使用
2013/07/08 PHP
javascript得到XML某节点的子节点个数的脚本
2008/10/11 Javascript
jquery ajax提交表单数据的两种实现方法
2010/04/29 Javascript
jQuery hover 延时器实现代码
2011/03/12 Javascript
javascript使用isNaN()函数判断变量是否为数字
2013/09/21 Javascript
浅析Cookie中的Path与domain
2013/12/18 Javascript
一个简单的jQuery插件ajaxfileupload.js实现ajax上传文件例子
2014/06/26 Javascript
浅谈JavaScript函数节流
2014/12/09 Javascript
jQuery实现提交按钮点击后变成正在处理字样并禁止点击的方法
2015/03/24 Javascript
实例讲解使用原生JavaScript处理AJAX请求的方法
2016/05/10 Javascript
AngularJs页面筛选标签小功能
2016/08/01 Javascript
浅谈jQuery中Ajax事件beforesend及各参数含义
2016/12/03 Javascript
JS简单获取当前年月日星期的方法示例
2017/02/07 Javascript
bootstrap轮播图示例代码分享
2017/05/17 Javascript
基于jQuery封装的分页组件
2017/06/26 jQuery
解决vue v-for src 图片路径问题 404
2019/11/12 Javascript
Python读写配置文件的方法
2015/06/03 Python
Python3的高阶函数map,reduce,filter的示例详解
2019/07/23 Python
解决python gdal投影坐标系转换的问题
2020/01/17 Python
python GUI库图形界面开发之PyQt5滚动条控件QScrollBar详细使用方法与实例
2020/03/06 Python
HTML5中5个简单实用的API(第二篇,含全屏、可见性、拍照、预加载、电池状态)
2014/05/07 HTML / CSS
HTML5的一个显示电池状态的API简介
2015/06/18 HTML / CSS
W Concept美国:精选全球独立设计师
2017/02/22 全球购物
英国布鲁姆精品店:Bloom Boutique
2018/03/01 全球购物
Clarks西班牙官方在线商店:clarks鞋
2019/05/03 全球购物
自荐信格式的六要素
2013/09/21 职场文书
金融专业大学生职业生涯规划范文
2014/01/16 职场文书
国际经济与贸易专业大学生职业规划书
2014/03/01 职场文书
《埃及的金字塔》教学反思
2014/04/07 职场文书
小学学校评估方案
2014/06/08 职场文书
消防志愿者活动方案
2014/08/23 职场文书
小班下学期幼儿评语
2014/12/30 职场文书
windows系统安装配置nginx环境
2022/06/28 Servers