Win32 SendMessage みたいな API を使わずとも、UWSC とメモ帳さえあれば、誰でもお手軽に RPA のような事ができます。
このページでは、UWSC を使う最小限のコードを紹介します。
まずは以下の特徴をここで押さえておいてください。
- UWSC は、あなたが用意した画像と一致する画面を見つけ出し、一致した座標に対してマウス入力を行う事ができます
- 画像はすべて bmp 形式で用意します
- png 形式などは利用できません
- これにより、例えば https://www.google.co.jp を開いているブラウザが存在するとして、Google のホーム画面の「Google 検索」ボタンの画像をあなたが用意したとします
- そして、画面にあなたが用意した「Google 検索」画像と一致する部分があれば、そこをクリックする、というスクリプトを書いて UWSC に読み込ませ実行させると、ブラウザが画面に表示されている場合 UWSC が「Google 検索」画像と一致する座標を見つけ出し、その座標にマウスカーソルを自動的に移動し、勝手にクリックしてくれます
- これにより、ブラウザの自動操作を行う事ができます
- もちろん、他にも様々な API があるので、これ以上の事も行う事ができます
- モニタの電源を OFF にしてしまうと、UWSC は動作を停止するので注意してください
vector よりダウンロードします。
用意する画像
ここでは普段 Chrome を利用していると想定します。
Chrome を立ち上げ、https://www.google.co.jp を開き、「Google 検索」のボタンを Print Screen して bmp 画像にして保存します。
保存した画像のファイル名は何でもいいですが、ここでは search.bmp とします。
このような bmp 画像を用意します。丁寧にGoogle 検索ボタンの左上から右下が表示されている画像を用意する必要はなく、適当に切り抜けば OK です。
用意するスクリプト
名前は何でもいいですが、search.uws というテキストファイルを用意し、以下のような内容にして保存します。
--- ここから ---(この行は不要)
// 「//」から始まる行はコメントなので、無視されます
// 参考:CHKIMG( 画像名, 透過色/色無視, x1, y1, x2, y2, 番号, 色幅 )
IFB CHKIMG("search.bmp", 0) // 画面上に search.bmp と同じ物が表示されているか検索する
// 参考:BTN( ボタン, 状態, x, y, ms )
BTN(LEFT, CLICK, G_IMG_X + 1, G_IMG_Y + 1) // 見つかれば、一致する画像の左上の座標の 1 ピクセルだけ右下をクリックする(ボタンの縁ギリギリではなく、ボタンの中央くらいをちゃんとクリックできるようにするため)
ENDIF
--- ここまで --(この行は不要)
CHKIMG 関数で画面上に search.bmp と同じボタンが表示されていないかを検索し、表示されていればその座標の 1 ピクセル右下をクリックします。
これにより、Google 検索ボタンを自動でクリックすることができます。
実行方法
UWSC を起動し、以下の画像の赤枠の所をクリックし、ファイル選択ダイアログが表示されたら search.uws を選択します。
その後、以下の画像の赤枠の部分をクリックして、実行します。
以上です。
プログラムがすぐに実行されて終了してしまいよくわからない場合、スクリプトを以下のように無限ループするように変更してみてください。
WHILE TRUE // 無限ループする
// 「//」から始まる行はコメントなので、無視されます
// 参考:CHKIMG( 画像名, 透過色/色無視, x1, y1, x2, y2, 番号, 色幅 )
IFB CHKIMG("search.bmp", 0) // 画面上に search.bmp と同じ物が表示されているか検索する
// 参考:BTN( ボタン, 状態, x, y, ms )
BTN(LEFT, CLICK, G_IMG_X + 1, G_IMG_Y + 1) // 見つかれば、一致する画像の左上の座標の 1 ピクセルだけ右下をクリックする(ボタンの縁ギリギリではなく、ボタンの中央くらいをちゃんとクリックできるようにするため)
ENDIF
WEND
以上です。
0 件のコメント:
コメントを投稿