Python截圖並保存的具體實例
大傢肯定會疑問,為什麼需要用python去進行截圖保存,或者說是我們的QQ、微信都是自帶截圖工具的,可以直接拿過來進行使用的,但是事實上,一般在測試的時候,經常會遇到代碼報錯等問題,這種需要反饋的時候,就需要利用到python自行截圖,好啦,下面就是實現的幾個操作。
1、selenium for python
實現代碼如下:
import time from selenium import webdriver 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()
2、PIL庫
實現代碼如下:
import time from PIL import ImageGrab if __name__=="__main__": pic = ImageGrab.grab() pic.save("picture.jpg")
實例擴展:
#coding=utf-8 import time import win32gui, win32ui, win32con, win32api def window_capture(filename): hwnd = 0 # 窗口的編號,0號表示當前活躍窗口 # 根據窗口句柄獲取窗口的設備上下文DC(Divice Context) 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] # 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)
到此這篇關於Python截圖並保存的具體實例的文章就介紹到這瞭,更多相關Python如何截圖保存內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- python如何查找圖片按鈕的坐標位置
- Python開發遊戲自動化後臺腳本的實現
- 教你怎麼用Python selenium操作瀏覽器對象的基礎API
- python+opencv+selenium自動化登錄郵箱並解決滑動驗證的問題
- python爬蟲之selenium庫的安裝及使用教程