Python如何截图保存的三种方法(小结)
本文介绍python如何进行截图保存的几种方法,在测试过程中,是有必要截图,特别是遇到错误的时候进行截图。结合Python其它模块如time,os.path,基本能满足截图保存文件的功能需求
第一种seleniumforpython
get_screenshot_as_file()
相关代码如下:
#coding=utf-8 importtime fromseleniumimportwebdriver driver=webdriver.Chrome() driver.maximize_window() driver.implicitly_wait(6) driver.get("https://www.baidu.com") time.sleep(1) driver.get_screenshot_as_file("C:\\baidu.png") driver.quit()
第二种使用PIL库
代码如下:
importtime fromPILimportImageGrab if__name__=="__main__": pic=ImageGrab.grab() pic.save("picture.jpg")
第三种
代码如下:
#coding=utf-8 importtime importwin32gui,win32ui,win32con,win32api defwindow_capture(filename): hwnd=0#窗口的编号,0号表示当前活跃窗口 #根据窗口句柄获取窗口的设备上下文DC(DiviceContext) hwndDC=win32gui.GetWindowDC(hwnd) #根据窗口的DC获取mfcDC mfcDC=win32ui.CreateDCFromHandle(hwndDC) #mfcDC创建可兼容的DC saveDC=mfcDC.CreateCompatibleDC() #创建bigmap准备保存图片 saveBitMap=win32ui.CreateBitmap() #获取监控器信息 MoniterDev=win32api.EnumDisplayMonitors(None,None) w=MoniterDev[0][2][2] h=MoniterDev[0][2][3] #printw,h#图片大小 #为bitmap开辟空间 saveBitMap.CreateCompatibleBitmap(mfcDC,w,h) #高度saveDC,将截图保存到saveBitmap中 saveDC.SelectObject(saveBitMap) #截取从左上角(0,0)长宽为(w,h)的图片 saveDC.BitBlt((0,0),(w,h),mfcDC,(0,0),win32con.SRCCOPY) saveBitMap.SaveBitmapFile(saveDC,filename) if__name__=="__main__": beg=time.time() foriinrange(1): image_name="haha%s.jpg"%i window_capture(image_name) end=time.time() print(end-beg)
到此这篇关于Python如何截图保存的三种方法(小结)的文章就介绍到这了,更多相关Python截图保存内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。