Python实现屏幕截图的代码及函数详解
废话不多说,先给大家看下python实现屏幕截图的代码,具体代码如下所述:
fromseleniumimportwebdriver
importtime
defcapture(url,save_fn="capture.png"):
browser=webdriver.Firefox()#Getlocalsessionoffirefox
browser.set_window_size(1200,900)
browser.get(url)#Loadpage
browser.execute_script("""
(function(){
vary=0;
varstep=100;
window.scroll(0,0);
functionf(){
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);
})();
""")
foriinxrange(30):
if"scroll-done"inbrowser.title:
break
time.sleep(1)
browser.save_screenshot(save_fn)
browser.close()
if__name__=="__main__":
capture(https://www.nhooo.com)
Pythony实现屏幕截屏的函数如下所述:
#-*-coding:cp936-*-
importtime,Image
importos,win32gui,win32ui,win32con,win32api
defwindow_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]
#printw,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)
returnbmpname[:-4]+'.jpg'
#调用截屏函数
window_capture('d:\\')
以上所述是小编给大家分享的Python实现屏幕截图的代码及函数详解,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的,在此有非常感谢大家对毛票票网站的支持!