PyAutoGUIで面倒ごとを自動化しよう
今回はPyAutoGUIの待機処理について紹介します。
今までは単機能の紹介だったので待機処理の必要性はあまりありませんでしたが、実際には複数の処理を実行します。
その中で、勝手に処理が進んでしまっては都合が悪い状況とかが出てきます。
それを回避するために待機処理が必要となります。
PyAutoGUIのようにプログラムの処理と実際のキー入力処理は非同期で進んでいくの、前の処理を実行している途中でも次の処理が動きます。
待機処理
PyAutoGUIで待機処理を実装する方法を記載します。PyAutoGUIでは座標等を扱っていくので、万が一プログラムにミスがあったり、
想定しない挙動をした場合に、致命的な問題を引き起こす可能性があります。
そのため、問題を検知したらすぐに処理を止めれるよう処理ごとに待機処理を入れておくとテスト等での安全性が高まります。
一定間隔で待機処理
pyautogui.PAUSE = 3.0
処理を実施するたびに一定時間待機することでコマンドを受けつけることができ、Ctrl+Cで強制停止する事ができます。
上記の場合だと、一処理するごとに3秒待機して次の処理に移ります。
任意のタイミングで待機
以下はpythonのデフォルトライブラリのtimeを利用することで任意のタイミングで待機処理を実施することができます。
以下はこれは3秒待機する処理となります。
from time import sleep
sleep(3)
フェールセーフの設定
フェールセーフとは誤った操作をした時に、安全に処理を中断または続行させる仕組みのことです。
今回は万が一誤った操作をしてしまった際に処理を中断させる方法を紹介します。
以下の処理でフェールセーフを設定する事ができます。
フェールセーフが有効になっている場合、処理中にマウスを画面左上、つまり(0,0)座標にマウスのポインタを移動させる事で処理を終了させる事ができます。
pyautogui.FAILSAFE = True
※基本的にデフォルトでTrueが設定されています。