定時自動螢幕截圖
這篇文章會介紹使用 Python 第三方 pyautogui 函式庫,搭配 for 迴圈與 time 函式庫,實作一個可以定時擷取螢幕畫面的功能。
執行 pyautogui 會由程式控制電腦滑鼠、鍵盤或畫面,因此所以請使用本機環境 ( 參考:使用 Python 虛擬環境 ) 或使用 Anaconda Jupyter 進行實作 ( 參考:使用 Anaconda ) 。
安裝 pyautogui 函式庫
輸入下列指令,就能安裝 pyautogui 函式庫 ( 依據每個人的作業環境不同,可使用 pip 或 pip3 或 pipenv )。
pip install pyautogui
import pyautogui
要使用 pyautogui 必須先 import pyautogui 模組。
import pyautogui
螢幕截圖
下方的程式碼執行後,會自動進行「全螢幕」截圖,並將圖片存在指定的路徑下。
import pyautogui
myScreenshot = pyautogui.screenshot()
myScreenshot.save('圖片路徑\圖片名稱.png')
如果在後方加入 region 參數,指定左上 ( x1, y1 ) 和右下 ( x2, y2 ) 的座標,就能擷取某個範圍的畫面
import pyautogui
myScreenshot = pyautogui.screenshot(region=(x1, y1, x2, y2))
myScreenshot.save('圖片路徑\圖片名稱.png')
定時自動螢幕截圖
在上述的程式裡,加入 for 迴圈與 sleep 的功能,就能讓程式每隔兩秒擷取一次螢幕畫面,總共截取五次。
import pyautogui
from time import sleep
for i in range(5):
myScreenshot = pyautogui.screenshot()
myScreenshot.save(f'./test{i}.png')
sleep(2)
小結
如果將螢幕截圖搭配自動傳送 email、發送 LINE Notify...等推播通知,就能做到簡單的遠端監控作業?!( 要注意,如果在沒有得到同意的狀況下進行監控,會觸犯刑法第 315 之 1 條呦 )
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~