プログラミング初心者のためのソフトウェアロボット作成の手引き③
RBFアナライザー編

[プログラミング経験のないイーセクターの女性営業が、ROBOWAREを使用した体験を元に作成しております]


前回までは、ROBOWAREの基本的な動きをお伝えしてきました。
今回からは、ROBOWAREでプログラミングを行うに当たって最も役立つツールとなるRBFアプリケーションアナライザー(以下、RBFアナライザー)についてお伝えしていきます。

RBFアナライザーは、一言で言ってしまうと、
「画面上に表示されているものがどういうデータで出来ているか」を可視化することが出来るツールです。
パソコンの画面上に表示されているもの、例えばアイコンだったり画像だったり文字だったりはその後ろにあるデジタルデータで構成されています。
私達がパソコンで様々な作業をする時、実際に動かしているのは画面上に表示されているものではなくて、後ろのデジタルデータに働きかけています。

ROBOWAREがPCを動かす時も同じで、実際にはROBOWAREはデジタルデータを動かしています。
RBFアナライザーによってデジタルデータを可視化した上でそれをプログラムに書き込むことで、何に対して働きかけを行うのかという命令を作っていきます。

と、このように文章で書くと良くわからないので、実際にRBFアナライザーを使ってプログラムを作っていきましょう。

ロボ3-01


ROBOWAREのRBFアナライザーとは?

RBFアナライザーは、マウスやキーボード操作に関してROBOWAREでの開発を支援するツールです。
アプリケーションの制御(操作)は、操作対象のアプリケーション開発元が独自で開発されたものである為、制御するアプリケーションをRBF アナライザーで分析する必要があります。
ROBOWAREへのプログラミング手法として、RBFアナライザーで取得した情報をRBF APIのメソッドの引数に渡します。

 事前準備

 
ロボ3-02
今回もサンプルプログラムをアレンジします。
ロボット作成で要となる、マウスやキーボードの操作をROBOWAREへ指示するために、RBFアナライザーを使ってAPIに渡す引数のデータを作成します。
RBFアナライザーは、ROBOWAREのインストール時に標準で導入されています。

① プログラムの選定

図01

今回ベースに使うのは、「07_03_Firefox_CTL.rb」というサンプルプログラムです。
こちらはROBOWAREの評価版・製品版の提供時に含まれるプログラムになります。
Firefoxでyahooのページを立ち上げて、 関東地方の天気のページを呼び出して閉じる動作をするプログラムです。

この「Firefoxでyahooの関東地方の天気ページ」を呼び出すプログラムを、 「Internet Explorerでyahooの関東地方の遅延情報ページ」を呼び出すプログラムに書き換えてみます。

一点ご注意いただきたいのは、今回のプログラムは音声が出ます。
今回手を加える部分とはあまり関係がないのですが、実際にプログラムを動かす場合で、音声が出ては困る環境下にいる方は、予めスピーカーの音量を最小にしておいてください。

<ワンポイント>

今回は、あくまでベースにするサンプルプログラムとしてこちらを使うのみですが、理解を深めるために一度このプログラムの動きを見ておくとよいでしょう。

コマンドプロンプトから動かしたい場合は手引き①を、 Job Manegerから動かしたい場合は手引き②を参照にしてこのプログラムのジョブを動かしてみてください。

② IEでのページ表示

図02

先にWebブラウザInternet Explolerで、Yahoo!Japanのページを開いておきます。

③ 目的ページの確認

図03

事前に目的のページを確認しておきましょう。
今回目的となる、関東地方の遅延情報のページは「Yahoo!トップページ」→「Yahoo!路線」→「運行情報 関東」でたどり着けます

④ RBF Launcherの起動

図04

次にRBFアナライザーを立ち上げます。
スタートメニューで「Robowiser Framework」を配下の、「RBF Launcher」をクリックします。

⑤ RBFアナライザーの起動

図05

「RBF Launcher」が立ち上がると、図のような形でデスクトップに表示されます。
このうち、「RBF Appilication RBFアナライザー」をダブルクリックします。

 RBFアナライザーの使用方法

 
ロボ3-03
それでは、RBFアナライザーを使って、ROBOWAREに指示するプログラムの作成をしていきましょう。
ここでは、RBFアナライザーの使用法をメインにしているため、APIの具体的な設定内容については省略させていただきますので、マニュアルをご参照ください。

① RBFアナライザーの初期画面

図06

このようなウィンドウが開きます。こちらがRBFアナライザーです。
こちらを使ってプログラムを書き換えていきます。

② RBFアナライザーのファインダー

図07

こんな画面になります。
ここからは「ファインダー」を使っていきます。

RBFアナライザーのウィンドウの左上に、ファインダーのアイコン図07-1があります。
これを取りたいデータの上でドラッグ&ドロップすることで取りたいデータを取ることが出来ます。

③ ファインダーのドラッグ&ドロップ

図08

実際にやってみましょう。
ファインダーを、情報を表示させたい箇所にドラッグ&ドロップします。

今回は、「路線」の情報をクリックさせたいので
(1)「路線」の箇所(赤丸の箇所)でドラッグ&ドロップします。
(2) そうすると、RBFアナライザーのウィンドウ(青枠の中)に情報が表示されます。

この情報が、この「路線」という文字の後ろに隠れているデータです。

④ テキストデータの入手

図09

次はこの「路線」という文字のデータを画像データもしくはテキストデータで入手します。
今回はテキストデータにしましょう。
左下の「Mouse Click Text」というボタンをクリックしてください。

⑤ クリック対象の情報取得

図10

新たに「マウスクリックオブジェクト表示情報」と書かれたウィンドウが開きました。
ここでテキストデータを取ります。
テキストデータを取る前にウィンドウ右下の「検索停止」ボタンを押しておきましょう。

⑥ マウスクリックテキスト情報

図11

今度はそのままカーソルを「路線」の箇所に持っていってください。
(ファインダーのドラッグ&ドロップは不要です)
今度はマウスクリックオブジェクト情報に「路線」のテキストデータが表示されました。

⑦ RBFアナライザーで取得した情報

図12

表示されたデータは、それぞれウィンドウの右上にある「Copy」ボタンを押すことでクリップボードにコピー出来ます。
これらのデータを使ってプログラミングをしていきますので、とりあえずメモ帳に保存しておきましょう。

⑧ プログラムファイルへ戻る

図13

これでプログラミングの準備が出来ました。
一番初めに開いた「07_03_Firefox_CTL.rb」をもう一度見てください。
早速登録したJobを実行してみましょう。
登録したJobまたはROBOWAREのアイコンをダブルクリックします。

⑨ 別名で保存

図14

別の名前をつけて保存しておきます。
今回は、「07_03_Firefox_CTL(路線).rb」とします。

<ワンポイント>

こちらのプログラムはFirefox用に作られたものです。
今回、Internet Explorarで動かしたいので、Internet Explorar用にします。

やり方については、プログラムの27、28行目に 図14-1 とありますので、この通りにやっていきます。

具体的には、元プログラムの66行目を下記の通り書き換えます。 図14-2

⑩ プログラムソースのコメント

図15

485行目、「"東京の天気"をクリックします」の文言まで持っていきましょう。
♯が行頭にある部分は、プログラムの説明となります。都度軽くでもいいので目を通してみてください。 。

⑪ 路線情報の適用

図16

まずは「路線」のページに移動します。

赤枠の部分を書き換えます。ここで、先ほどRBFアナライザーで集めたマウスクリックテキスト情報を使いましょう。
「クリックテキスト」の部分、“”で括られている部分を、プログラムの赤枠の部分にコピーペーストします。

本来URL部分も記載しますが、ここはURLが変更になる場合があるため、「*」に置き換えます。
(「*」は「何かテキストが入るけどそれは何になるかわかりません」というような意味だとお考えください)

オレンジ枠の部分は今回特に書き換える必要がありませんが、後々分かりやすくするために書き換えてあります。

⑫ 遅延情報の適用

図17

次は関東のページに移ります。

画像のマウスクリックテキスト情報は、先ほどとよく似ていますが、RBFアナライザーをもう一度使って、今度は遅延情報の関東の部分のテキストデータを拾ってきています。
もう一度同じように、プログラムの赤枠の部分を書き換えます。

⑬ 不要部分の削除

図18

今回の修正はこれで終わりです。
元のプログラムはもう少し続きますが、今回は不要なので削除しておきましょう。

529行目~605行目までを削除してください。

⑭ プログラムの確認

図19

今回はこれで出来上がりです。
実際にプログラムを動かしてみてください。
上記の画面にたどり着けば出来上がりです。

 エラー解決方法

 
ロボ04
動かしてみてうまくいかない場合があるときは、プログラムの動作を見ながら、コマンドプロンプトでエラーメッセージを確認してみましょう。

参考までに今回作成したプログラムで発生したエラーを紹介します。

① エラー(1)

Internet Expolerのファイルが見つからない。

図20

今回のプログラムでは、internet explorerをCドライブのProgram Fileから開きに行っています。
探す途中で、internet explorerがどこにあるかわからなくなってしまったというものです。

② エラー(1) 解決法

非常に単純なお話で、Program File内のInternet Explorerのフォルダ名と、プログラムで指定されたフォルダ名が違っていたというものでした。

図21

というわけで、ここはフォルダ名をそろえることで解決しました。

① エラー(2)

yahooのURLを入力後、yahooのページを表示する前に次にクリックするテキストを探し始めてしまい、テキストを見つけられなくなってしまう。

図22

Internet Explorerを立ち上げた後、yahooのページが立ち上がるのに時間がかかることがあります。
この時、yahooのページが表示される前に、先に「路線」を探し始めてしまい、結果として見つけられなくなってしまい、エラー表示が出てしまいます。

② エラー(2) 解決法

時間がかかるのであれば、待ってもらう命令をプログラムから出しましょう。

図23

443行でyahooのURLを入力しています。
その後、463行の「key stroke =(略)」で、エンターキーを入力しています。
ここで少し待ってもらうために、「!W」と入力します。
これは「Wait」の省略で、「!W」を入れることにより、次の動作を待ってもらうというものです。「!W」1回で1秒待ってくれます。
今回は赤丸で囲ってある箇所に「!W」を入れることにより、入力を待ってもらいました。

ちなみに、他のキーの入力も、「CTRL=!C」「Delate=!X」「enter=!N」等省略しています。


如何でしたでしょうか?

RBFアナライザーはROBOWAREでの開発を行うに当たって、非常に有用なツールです。
既存で用意されたサンプルプログラムとRBFアナライザーを組み合わせることによって簡単なプログラムなら作ることが出来ます。

RBFアナライザーはWebブラウザだけではなく、デスクトップ上のさまざまなアプリケーションに対応しています。
ROBOWAREを手に入れたら、是非ともRBFアナライザーのファインダーを色々なテキストや画像に当ててみて、どのような情報が出て来るか見てみてください。










【ROBOWAREページリンク】
ROBOWARE特設ページ
QuickROBO特設ページ
知識ベースページ


【RPA概説ページリンク】
RPAインデックス
RPAって知っていますか?
RPA導入のために知っておきたい豆知識
ソフトウェアロボットの作り方
AI搭載を見据えたRPAの実践方法とは?
RPA2.0を加速するソフトウェアロボット開発
RPA の盲点 IT ガバナンスの重要性
無人運転を実現するRPAのシステム開発


【ソフトウェアロボット作成の手引きシリーズ】



ROBOWAREお問合せ