Skip to content

STUDIO-FERMION/TextHelper

Repository files navigation

《 TEXT HELPER 》

SikuliXによるサンプルRPAプログラム

SikuliX

〔概要〕

誰でも無料で利用できるRPAツールSikuliXの機能を体験できるサンプルプログラムです。 ユーザーのテキスト入力操作をロボットが代行します。 Windows専用。日本語OSで日本語106キーボード使用をしている環境のみ対応しています。

〔使用方法〕

下図のようにメールアドレスとパスワードを入力してログインする、一般的なダイアログに対して、事前に登録したテキストを自動的入力するための設定作業を解説いたします。

<サンプルダイアログ>
サンプルダイアログ

1. プログラムの起動

ダウンロードしたZIPファイルを展開したフォルダ内にあるTextHelper.wsfファイルまたはそのショートカットファイルをダブルクリックするなどして開くと、起動が開始されスプラッシュウィンドウが表示されます。

<スプラッシュウィンドウ>
スプラッシュウィンドウ

スプラッシュウィンドウが消えて、タスクトレイにアイコンが常駐していれば、起動完了です。

<タスクトレイアイコン>
タスクトレイアイコン

2. タイトルと入力テキストの設定

<図2-1>
タスクトレイメニュー

タスクトレイの右クリックメニューから、[プロファイル]を選択し、プロファイルメニューを起動します。

<図2-2>
プロファイルメニュー

選択モードから、[編集]ボタンをクリックして、編集モードへ移行します。

<図2-3>
レコード1編集

レコード1のタイトルと入力テキストのセルにそれぞれ文字列を入力します。[送信方法]はデフォルトでペーストに設定されます。

3. 識別画像パターンの登録

<図3-1>
クリップツール

[クリップ]ボタンをクリックして、画像クリップツールを起動します。

<図3-2>
画像クリップ

入力画面を識別するための画像パターンを決めて、マウスのドラッグにより矩形の領域を選択します。

<図3-3>
画像ドラッグ

選択した領域のサイズがキロピクセル単位で表示されます。

<図3-4>
右クリックメニュー

右クリックメニューから[セーブ]を選択すると、プロファイルに登録されます。

4. テキスト送信先の指定

<図4-1>
プレビュー

編集メニューで[オフセット]ボタンをクリックして、テキストを送信する位置を指定するための座標取得ツールを起動します。

<図4-2>
送信先指定

テキストを入力したい位置にマウスを合わせてクリックします。

<図4-3>
座標取得

識別画像の中心からの相対座標が表示されます。

<図4-4>
座標登録

右クリックメニューからセーブすれば、プロファイルに登録されます。

<図4-5>
編集完了

[保存]ボタンをクリックしてレコードを確定し、[戻る]ボタンで選択モードに戻ります。

5. 動作テスト

<図5-1>
レコードテスト

[テスト]ボタンをクリックして、レコード単体での動作テストが出来ます。

<図5-2>
テスト結果

識別パターンが正しく認識できれば、指定の位置に自動的にテキストが入力されます。

6. 自動判定入力

複数のレコードから、マッチするものを自動的に選択して入力を実行する例を示します。

<図6-1>
追加登録

まずレコード2のタイトルと入力テキストを登録し、図5-2の状態で画像クリップツールを起動します。

<図6-2>
画像追加

次にレコード2の識別画像パターンを選択して登録します。

<図6-3>
位置追加

さらにレコード2の入力位置を指定して登録し、レコード2を保存します。

<図6-4>
レコード2

自動判定で使用するには、いったん選択モードに戻りプロファイルメニューを終了します。
またダイアログを初期状態に戻してから開始することとします。

自動判定でのスキャン実行は、タスクトレイのアイコンを直接左クリックするか、右クリックメニューから[スキャン開始]を選択します。

<図6-5>
トレイメニュー

スキャン結果としてレコード1がマッチします。

<図6-6>
単体マッチ

[はい]をクリックして自動入力を実行すると、また図5-2の状態に戻ります。

ここからさらにスキャンを実行すると、今度はレコード1とレコード2が両方マッチします。

<図6-7>
複数マッチ

このツールでは複数のパターンがマッチした場合は、マッチしたパターンの面積(ピクセル数の合計)が一番大きいものを採用する仕様となっています。 このケースではレコード2が採用され、パスワードが自動入力されます。

<図6-8>
自動判別入力

〔送信方法について〕

送信方法はペーストの他、タイプを指定することが出来ます。

<送信方法切り替え>
タイプ入力

送信方法がタイプの設定では全角文字は使えず、半角英数字記号(ただしアンダーバー「_」以外)のみとなりますが、クリップボードからのペーストが禁止されている入力画面でも動作します。 例えば、リモートデスクトップのロック画面でも、パスワードの自動入力が可能です。

〔注意点〕

Webの場合はブラウザの設定によりフォントやズーム率が異なっていたり、またテキストボックスがフォーカスされているかどうかでデザインが変化するようになっていたりしますので、あまり適していません。
そもそもブラウザ自体にログイン情報を保存する機能が備わっているので、このようなツールを必要としないでしょう。

自動判定の際は、有効なレコード数およびスキャンするウィンドウのサイズに比例して、スキャンにかかるオーバーヘッドが大きくなります。対策としては、一部のレコードを自動判定から除外してテスト機能を使ったり、スキャン中は一時的にウィンドウサイズを小さくするといった方法で、オーバーヘッドを小さく出来ます。

About

SikuliXによるRPAプログラム

Resources

License

Stars

Watchers

Forks

Contributors