UiPath クリックトリガー アクティビティ
クリックトリガーはブラウザ以外のアプリケーションへのクリックを検知し、
そのタイミングで指定の処理を行うためのアクティビティです。
この記事では、その機能と使い方を紹介します。
アクティビティの使い方
デザイナーパネルにイベントを監視を設置し、
「ここにトリガーアクティビティをドロップ」の部分にドロップします。
そしてイベントハンドラーの中に行いたい処理のアクティビティを設置します。
イベントを監視の「無限に繰り返す」は初期値ではTrueになっています。
この設定では処理が終わらないためイベントハンドラーの中で終了条件を設定し、
Boolea型変数で制御するか1回だけクリックを検知するFalseにしておきましょう。
そしてクリックの検知対象としたいアプリケーションを開き
その状態で「画面上の要素を指定」をクリックします。
アイコンが変わるのでその状態で検知対象のアプリケーションを選択します。
すると表示が切り替るのでこの状態でプロパティとイベントハンドラーの中身を設定していきます。
プロパティ
共通
表示名はデザイナーパネルに反映されます。
画面上で要素を選択した場合、アプリケーション名とウインドウ名が自動セットされます。
入力
セレクター
クリック検知対象を示す下記のような文字列です。
アプリケーション名とウインドウ名で指定されます。
<wnd app='grc.exe' cls='Afx:*' title='検索順位チェックツールGRC ver.5.60.207' />
例のようにバージョンが含まれている場合、
アプリケーションのアップデートにより変わるため
都度、変更が必要な可能性があります。
マウスボタン
どのボタンに反応するかを選択します。
設定値 | 検知対象 |
---|---|
MouseButton.BTN_LEFT | 左クリックのみ |
MouseButton.BTN_RIGHT | 右クリックのみ |
MouseButton.BTN_MIDDLE | スクロールホイールのクリックのみ |
一つのアクティビティで一つのボタンのみが対象となります。
例えば左と右クリックの両方を検知したい場合は
イベントの検知の中に複数のマウストリガーを設置します。
オプション
イベントをブロック
マウスクリックを検知した時、その操作を反映させるかを指定します。
EventMode.EVENT_FORWARDでは操作を反映させ
EventMode.EVENT_BLOCKでは操作を無効化します。
EVENT_BLOCKでは例えばウインドウを閉じるボタンを押しても
UiPathのクリック検知はされますが、ウインドウは閉じられません。
設定次第ではパソコン自体のマウス操作が出来なくなるので
(パソコンを再起動したりタスクマネージャーから
UiPathのプロセスを強制的に落とす必要あり)
EVENT_BLOCKの使用には注意が必要です。
キー修飾子
特定のキー入力同時押しのクリックを検知するための設定です。
設定値 | 検知対象 |
---|---|
MonitoringKeyModifiers.None | Alt、Ctrl、Shift、Winの どれも押されていないクリックのみ検知 他の設定と共存不可 |
MonitoringKeyModifiers.Alt | Altと同時クリックのみ検知 |
MonitoringKeyModifiers.Ctrl | Ctrlと同時クリックのみ検知 |
MonitoringKeyModifiers.Shift | Shiftと同時クリックのみ検知 |
MonitoringKeyModifiers.Win | Winと同時クリックのみ検知 |
MonitoringKeyModifiers.Any | 全てのクリックを検知。 他の設定と共存不可 |
トリガーモード
イベント発動タイミングがマウスを
押した時(TriggerMode.TriggerDown)か、
離した時(TriggerMode.TriggerUp)かを指定します。
子を含む
ウインドウにはボタンや表など部品が含まれている場合があります。
そこまで含めて検知する場合はTrue、
クリックした部品のみ検知する場合はFalseを指定します。
どこまで含まれるかはアプリケーションによって異なるので
実際にクリックして試しながら調べましょう。
その他
UiPathのログに引数や変数の値が表示されるかを指定します。
機密性の高い情報を取り扱う場合にのみチェックする必要があります。
マウスクリック情報の取得と可能な操作
イベントハンドラーの中でイベント情報を取得アクティビティを
設置するとマウスクリックの情報を取得可能です。
イベント情報を取得アクティビティの結果プロパティに
UiPath.Core.EventInfo型の変数を設定します。
具体的な操作は他のトリガーとも共通した情報のためイベント情報を取得の記事で紹介します。