Magicode logo
Magicode
0

PyAutoGUIのチートシート

以下リンク(本家)のうち、使いそうなところだけまとめました。 詳しくは本家を見てください。 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')
日本語のコピペはpyperclipで

マウス操作

動作コード
座標(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で進めることにしました。

Discussion

コメントにはログインが必要です。