Python如何截圖保存的三種方法(小結(jié))
本文介紹python如何進(jìn)行截圖保存的幾種方法,在測試過程中,是有必要截圖,特別是遇到錯誤的時候進(jìn)行截圖。結(jié)合Python其它模塊如time ,os.path,基本能滿足截圖保存文件的功能需求
第一種 selenium for python
get_screenshot_as_file()
相關(guān)代碼如下:
# coding=utf-8import timefrom selenium import webdriverdriver = 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庫
代碼如下:
import timefrom PIL import ImageGrabif __name__=='__main__': pic = ImageGrab.grab() pic.save('picture.jpg')
第三種
代碼如下:
#coding=utf-8import timeimport win32gui, win32ui, win32con, win32apidef window_capture(filename): hwnd = 0 # 窗口的編號,0號表示當(dāng)前活躍窗口 # 根據(jù)窗口句柄獲取窗口的設(shè)備上下文DC(Divice Context) hwndDC = win32gui.GetWindowDC(hwnd) # 根據(jù)窗口的DC獲取mfcDC mfcDC = win32ui.CreateDCFromHandle(hwndDC) # mfcDC創(chuàng)建可兼容的DC saveDC = mfcDC.CreateCompatibleDC() # 創(chuàng)建bigmap準(zhǔn)備保存圖片 saveBitMap = win32ui.CreateBitmap() # 獲取監(jiān)控器信息 MoniterDev = win32api.EnumDisplayMonitors(None, None) w = MoniterDev[0][2][2] h = MoniterDev[0][2][3] # print w,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() for i in range(1): image_name='haha%s.jpg'%i window_capture(image_name) end = time.time() print(end - beg)
到此這篇關(guān)于Python如何截圖保存的三種方法(小結(jié))的文章就介紹到這了,更多相關(guān)Python 截圖保存內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. Python通過fnmatch模塊實現(xiàn)文件名匹配2. Python基于tkinter canvas實現(xiàn)圖片裁剪功能3. 低版本IE正常運行HTML5+CSS3網(wǎng)站的3種解決方案4. 正則表達(dá)式匹配${key}并在Java中使用的詳細(xì)方法5. 基于Java實現(xiàn)簡單貪吃蛇游戲6. html清除浮動的6種方法示例7. 使用AJAX(包含正則表達(dá)式)驗證用戶登錄的步驟8. xpath簡介_動力節(jié)點Java學(xué)院整理9. 阿里前端開發(fā)中的規(guī)范要求10. jsp文件下載功能實現(xiàn)代碼
