📷
PyAutoGUIで指定ウィンドウをスクショする
はじめに
PyAutoGuiでキーボードやマウスを自動化する際にある指定のウィンドウのみをスクショしたいことがあったので調べてみました
プログラム
bash
pip install pyautogui
まずはpyautoguiをimport
します
次に、pag.getWindowsWithTitle()
に文字列でウィンドウ名を指定するとそのウィンドウの位置情報が分かるのでその位置情報をpag.screenshot()
の第二引数のregionにtapleで渡してあげればいいです
スクショ取るときには前に他のウィンドウが被るとそのウィンドウも映り込んでしまうので、.activate()
で指定ウィンドウをアクティブ化して最前面に持ってくるといいです
main.py
import pyautogui as pag
title = "Chrome"
win = pag.getWindowsWithTitle(title)[0]
win.activate()
pag.screenshot("screenshot.png", region=(win.left, win.top, win.width, win.height))
思ったよりも簡単でしたね
最後に
これを使えばopen-cvとかを使わずpyautoguiだけでpc自動化+スクショができるのはいいですね
Discussion