以下リンク(本家)のうち、使いそうなところだけまとめました。 詳しくは本家を見てください。 https://pyautogui.readthedocs.io/en/latest/quickstart.html
pip install pyautogui Pillow==8.3
でインストール。(最新のPillow==8.3.1だとエラーすら吐かずに落ちる)
import pyautogui
でインポート。
下の関数を呼び出す際は手前にpyautogui.
を付けましょう。
動作 | コード |
---|---|
すべて1秒おきにする | PAUSE = 1.0 |
動作 | コード |
---|---|
ポインタ位置を取得 | position() |
スクリーンサイズを取得 | size() |
画像と一致する部分(4隅)を取得 | locateOnScreen('myBestPicture.png') |
画像と一致する部分(中心)を取得 | locateCenterOnScreen('myBestPicture.png') |
スクリーンショットを取得(戻り値はPIL.Image) | screenshot('sukusho.png') |
x=123, y=456の色を取得 | pixel(123, 456) |
x=123, y=456の色が赤であるかどうか | pixelMatchesColor(123, 456, (255, 0, 0)) |
動作 | コード |
---|---|
'yakiniku'と書く(英語のみOK、他言語はコピペで対応) | typewrite('yakiniku') |
'yakiniku'の順でキーボードを押して離す | typewrite(['y', 'a', 'k', 'i', 'n', 'k', 'u']) |
Shiftキーを押す | keyDown('shift') |
Shiftキーを離す | keyUp('shift') |
Shiftキーを押して離す | press('shift') |
Ctrl押してV押してV離してCtrl離す | hotkey('ctrl', 'v') |
動作 | コード |
---|---|
座標(123, 456)まで789秒かけてポインタを動かす | moveTo(123, 456, duration=789) |
今の位置 + x=123, y=456の座標までポインタを動かす | moveRel(123, 456) |
座標(123, 456)まで789秒かけてドラッグ | dragTo(123, 456, duration=789) |
今の位置 + x=123, y=456の座標までドラッグ | dragRel(123, 456) |
左ボタンを押す | mouseDown() |
左ボタンを離す | mouseUp() |
左ボタンを押して離す | click() |
左上からx=123, y=456の位置で場所で左ボタンを押して離す | click(123,456) |
指定画像を探してその真ん中でクリック | click('button_ok.png') |
ダブルクリックする | doubleClick() |
トリプルクリックする | tripleClick() |
中クリックする | middleClick() |
右クリックする | rightClick() |
12回分スクロールする | scroll(12) |
画像を探す系は見つからなかった場合にNoneが返ってくるみたいです。 本当は例外がスローされるって書かれてるけど、自環境だとそうならないです。
操作するウィンドウによってはうまくいきません。 自分の環境だとMicrosoft Office関係はうまくいきませんでした。 形式の変換が必要だったので、unoconv + LibreOfficeで進めることにしました。