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中使用PIL库实现图片高斯模糊实例
Feb 08 Python
python3简单实现微信爬虫
Apr 09 Python
剖析Python的Twisted框架的核心特性
May 25 Python
pandas.DataFrame 根据条件新建列并赋值的方法
Apr 08 Python
Scrapy基于selenium结合爬取淘宝的实例讲解
Jun 13 Python
Python-while 计算100以内奇数和的方法
Jun 11 Python
pytz格式化北京时间多出6分钟问题的解决方法
Jun 21 Python
Python中查看变量的类型内存地址所占字节的大小
Jun 26 Python
解决pycharm中导入自己写的.py函数出错问题
Feb 12 Python
Python定时任务APScheduler原理及实例解析
May 30 Python
Python 程序报错崩溃后如何倒回到崩溃的位置(推荐)
Jun 23 Python
如何利用python实现Simhash算法
Jun 28 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
mysql 中InnoDB和MyISAM的区别分析小结
2008/04/15 PHP
php文件怎么打开 如何执行php文件
2011/12/21 PHP
PHP文件下载实例代码浅析
2016/08/17 PHP
解决php-fpm.service not found问题的办法
2017/06/06 PHP
彻底搞懂JS无缝滚动代码
2007/01/03 Javascript
ajax更新数据后,jquery、jq失效问题
2011/03/16 Javascript
JavaScript设置首页和收藏页面的小例子
2013/11/11 Javascript
jquery设置按钮停顿3秒不可用
2014/03/07 Javascript
JS实现文字链接感应鼠标淡入淡出改变颜色的方法
2015/02/26 Javascript
jQuery垂直多级导航菜单代码分享
2015/08/18 Javascript
纯HTML5制作围住神经猫游戏-附源码下载
2015/08/23 Javascript
jquery easyui datagrid实现增加,修改,删除方法总结
2016/05/25 Javascript
前端面试题及答案整理(二)
2016/08/26 Javascript
angular实现form验证实例代码
2017/01/17 Javascript
详解使用nvm管理多版本node的方法
2017/08/30 Javascript
Vue 中批量下载文件并打包的示例代码
2017/11/20 Javascript
vue项目base64字符串转图片的实现代码
2018/07/13 Javascript
JS实现方形抽奖效果
2018/08/27 Javascript
微信 jssdk 签名错误invalid signature的解决方法
2019/01/14 Javascript
微信小程序获取用户绑定手机号方法示例
2019/07/21 Javascript
vue-router路由模式详解(小结)
2019/08/26 Javascript
[03:03]DOTA2 2017国际邀请赛开幕战队入场仪式
2017/08/09 DOTA
[55:25]VGJ.T vs Optic Supermajor小组赛D组 BO3 第三场 6.3
2018/06/04 DOTA
利用Python中的mock库对Python代码进行模拟测试
2015/04/16 Python
python中numpy基础学习及进行数组和矢量计算
2017/02/12 Python
浅谈python累加求和+奇偶数求和_break_continue
2020/02/25 Python
Python xlwt模块使用代码实例
2020/06/10 Python
Python 的 __str__ 和 __repr__ 方法对比
2020/09/02 Python
Python 中Operator模块的使用
2021/01/30 Python
html5版canvas自由拼图实例
2014/10/15 HTML / CSS
馥绿德雅美国官方网站:Rene Furterer头皮护理专家
2019/05/01 全球购物
党建工作先进材料
2014/05/02 职场文书
主题实践活动总结
2014/05/08 职场文书
应聘会计求职信
2014/06/11 职场文书
2015秋季开学典礼演讲稿
2015/07/16 职场文书
运输公司工作总结
2015/08/11 职场文书