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 相关文章推荐
Linux下用Python脚本监控目录变化代码分享
May 21 Python
浅谈编码,解码,乱码的问题
Dec 30 Python
python中matplotlib实现最小二乘法拟合的过程详解
Jul 11 Python
EM算法的python实现的方法步骤
Jan 02 Python
python中的插值 scipy-interp的实现代码
Jul 23 Python
Django为窗体加上防机器人的验证码功能过程解析
Aug 14 Python
python3实现的zip格式压缩文件夹操作示例
Aug 17 Python
python基于plotly实现画饼状图代码实例
Dec 16 Python
Python如何把十进制数转换成ip地址
May 25 Python
python Scrapy框架原理解析
Jan 04 Python
Python Django搭建文件下载服务器的实现
May 10 Python
Python可变与不可变数据和深拷贝与浅拷贝
Apr 06 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使用substr()和strpos()联合查找字符串中某一特定字符的方法
2015/05/12 PHP
php封装的验证码类分享
2017/02/26 PHP
js中将多个语句写成一个语句的两种方法小结
2007/12/08 Javascript
基于Jquery的仿Windows Aero弹出窗(漂亮的关闭按钮)
2010/09/28 Javascript
手机端网页点击链接触发自动拨打或保存电话的示例代码
2014/08/15 Javascript
Vue2.0实现1.0的搜索过滤器功能实例代码
2017/03/20 Javascript
基于ES6 Array.of的用法(实例讲解)
2017/09/05 Javascript
element ui 表格动态列显示空白bug 修复方法
2018/09/04 Javascript
在vue项目中使用md5加密的方法
2018/09/14 Javascript
vue cli3.0打包上线静态资源找不到路径的解决操作
2020/08/03 Javascript
vue中jsonp插件的使用方法示例
2020/09/10 Javascript
Python的Django中django-userena组件的简单使用教程
2015/05/30 Python
Python随机数用法实例详解【基于random模块】
2017/04/18 Python
Python处理Excel文件实例代码
2017/06/20 Python
python3.6连接MySQL和表的创建与删除实例代码
2017/12/28 Python
python实现求最长回文子串长度
2018/01/22 Python
Python cookbook(数据结构与算法)从序列中移除重复项且保持元素间顺序不变的方法
2018/03/13 Python
python顺序的读取文件夹下名称有序的文件方法
2018/07/11 Python
用Python编写一个高效的端口扫描器的方法
2018/12/20 Python
pandas去除重复列的实现方法
2019/01/29 Python
PyTorch的深度学习入门教程之构建神经网络
2019/06/27 Python
在pycharm中显示python画的图方法
2019/08/31 Python
树莓派安装OpenCV3完整过程的实现
2019/10/10 Python
美国亚洲时尚和美容产品的一站式网上商店:Stylevana
2019/09/05 全球购物
销售人员自我评价怎么写
2013/09/19 职场文书
创业计划书撰写原则
2014/01/25 职场文书
优秀少先队员主要事迹材料
2014/05/28 职场文书
2014年社区计生工作总结
2014/11/18 职场文书
绵山导游词
2015/02/05 职场文书
门卫管理制度范本
2015/08/05 职场文书
《圆的周长》教学反思
2016/02/17 职场文书
导游词之江苏溱潼古镇
2019/11/27 职场文书
详解RedisTemplate下Redis分布式锁引发的系列问题
2021/04/27 Redis
python代码实现备忘录案例讲解
2021/07/26 Python
收音机爱好者玩机13年,简评其使用过的19台收音机
2022/04/30 无线电
JS class语法糖的深入剖析
2022/07/07 Javascript