SikuliXによるサンプルRPAプログラム
誰でも無料で利用できるRPAツールSikuliXの機能を体験できるサンプルプログラムです。 ユーザーのテキスト入力操作をロボットが代行します。 Windows専用。日本語OSで日本語106キーボード使用をしている環境のみ対応しています。
下図のようにメールアドレスとパスワードを入力してログインする、一般的なダイアログに対して、事前に登録したテキストを自動的入力するための設定作業を解説いたします。
ダウンロードしたZIPファイルを展開したフォルダ内にあるTextHelper.wsfファイルまたはそのショートカットファイルをダブルクリックするなどして開くと、起動が開始されスプラッシュウィンドウが表示されます。
スプラッシュウィンドウが消えて、タスクトレイにアイコンが常駐していれば、起動完了です。
タスクトレイの右クリックメニューから、[プロファイル]を選択し、プロファイルメニューを起動します。
選択モードから、[編集]ボタンをクリックして、編集モードへ移行します。
レコード1のタイトルと入力テキストのセルにそれぞれ文字列を入力します。[送信方法]はデフォルトでペーストに設定されます。
[クリップ]ボタンをクリックして、画像クリップツールを起動します。
入力画面を識別するための画像パターンを決めて、マウスのドラッグにより矩形の領域を選択します。
選択した領域のサイズがキロピクセル単位で表示されます。
右クリックメニューから[セーブ]を選択すると、プロファイルに登録されます。
編集メニューで[オフセット]ボタンをクリックして、テキストを送信する位置を指定するための座標取得ツールを起動します。
テキストを入力したい位置にマウスを合わせてクリックします。
識別画像の中心からの相対座標が表示されます。
右クリックメニューからセーブすれば、プロファイルに登録されます。
[保存]ボタンをクリックしてレコードを確定し、[戻る]ボタンで選択モードに戻ります。
[テスト]ボタンをクリックして、レコード単体での動作テストが出来ます。
識別パターンが正しく認識できれば、指定の位置に自動的にテキストが入力されます。
複数のレコードから、マッチするものを自動的に選択して入力を実行する例を示します。
まずレコード2のタイトルと入力テキストを登録し、図5-2の状態で画像クリップツールを起動します。
次にレコード2の識別画像パターンを選択して登録します。
さらにレコード2の入力位置を指定して登録し、レコード2を保存します。
自動判定で使用するには、いったん選択モードに戻りプロファイルメニューを終了します。
またダイアログを初期状態に戻してから開始することとします。
自動判定でのスキャン実行は、タスクトレイのアイコンを直接左クリックするか、右クリックメニューから[スキャン開始]を選択します。
スキャン結果としてレコード1がマッチします。
[はい]をクリックして自動入力を実行すると、また図5-2の状態に戻ります。
ここからさらにスキャンを実行すると、今度はレコード1とレコード2が両方マッチします。
このツールでは複数のパターンがマッチした場合は、マッチしたパターンの面積(ピクセル数の合計)が一番大きいものを採用する仕様となっています。 このケースではレコード2が採用され、パスワードが自動入力されます。
送信方法はペーストの他、タイプを指定することが出来ます。
送信方法がタイプの設定では全角文字は使えず、半角英数字記号(ただしアンダーバー「_」以外)のみとなりますが、クリップボードからのペーストが禁止されている入力画面でも動作します。
例えば、リモートデスクトップのロック画面でも、パスワードの自動入力が可能です。
Webの場合はブラウザの設定によりフォントやズーム率が異なっていたり、またテキストボックスがフォーカスされているかどうかでデザインが変化するようになっていたりしますので、あまり適していません。
そもそもブラウザ自体にログイン情報を保存する機能が備わっているので、このようなツールを必要としないでしょう。
自動判定の際は、有効なレコード数およびスキャンするウィンドウのサイズに比例して、スキャンにかかるオーバーヘッドが大きくなります。対策としては、一部のレコードを自動判定から除外してテスト機能を使ったり、スキャン中は一時的にウィンドウサイズを小さくするといった方法で、オーバーヘッドを小さく出来ます。












