RPA BANKをご覧のみなさま、こんにちは!「最近RPAが気になって仕方がない」とソワソワしているものの、「ドコかムズカシそうな雰囲気」になかなか一歩が踏み出せないでいる、そんなみなさまに向けたお気楽RPA解説連載、「さるでき流 RPAのはじめかた」、今回で17回目になります。
春は別れと出会いの季節。
みなさまの職場でも、今頃きっと春の人事異動が行われていることでしょう。
人事部長「コロボ君、キミには新しい職場に行ってもらうことになったよ」
コロボ「ええっ!?ついにボクが社長秘書にっ!?」
人事部長「……そんなこと一言も言ってないから」
実はですね。2017年11月から続けてきましたこちらの連載、「さるでき流 RPAのはじめかた(シーズン1)」が、今回をもって終了することになりました。
17回(+2回)の長きに渡って、当連載をお読みいただいたみなさま、本当にありがとうございます。思えば最初は右も左もわからず、「RPAって何?新種のサプリメントの名前?」とか、「ビズロボってズビズバって感じで読むと超強そう」とか、そんなことを書いていたような、書いていないような気がしま(以下回想続く)
コロボ「おや?この連載、(シーズン1)なんて付いていましたっけ?」
人事部長「フッフッフ、なかなかスルドイじゃないか、キミ」
さてさて、コロボ君も気になる「シーズンの謎」は後半まで取っておくとして、今回はスルーし続けてきた例のアイツ、「UiPathのセレクターの謎」を解き明かしていこうと思います。
ではでは、毎度お馴染み「UiPath Community エディション」の世界に飛び込みますよー。Windowsのメニューから「UiPath Studio」のアイコンをポチッとな!
【セレクターってなんだろう?】
今回は新しいロボットを作るのではなく、最初の頃に作った「メモ帳」を操作するロボットを使いながら、『セレクター』の様子を見ていこうと思います。
……と、その前に。まずはセレクターの概要について、「UiPath Studioガイド」を覗いてみることにしましょうか。
『ユーザーインターフェース内の特定のアクションを自動化するには、さまざまなウィンドウやボタン、ドロップダウンリストなどを操作する必要があります。ほとんどの RPA 製品は UI 要素の画面位置を利用してこの操作を行いますが、これは信頼性が低い方法です。より確実な操作を行えるように、UiPath Studio ではセレクターと呼ばれるものを使用しています。』
ふむふむ……え?「全然わかってないでしょ?」ですって?い、嫌だなあアハハハ。ものすごくザックリ言うと、「操作するウィンドウやボタンをコロボ君が間違わないように、『ココ!』と場所(住所)を指定するための仕組み」のようですよ?
第14回のところで触れましたが、例えば、みなさまが今見ている【この文章が表示されている場所】にも、コンピューター的には、「Windows国」「インターネットエクスプローラー県」「メイン表示領域市」「第〇〇番目の段落番地」というような『住所』が存在しています。
その住所を正しく指定できるからこそ、UiPath側から他のアプリケーションの処理を実行できる、というわけなのです。
「住所がおかしくなるとコロボ君はどうなってしまうのか」、そして「正しい住所を設定するにはどのようにすればいいのか」。このあたりのことを頭の片隅に入れた上で、画面を見てみることにしましょう。
ではコロボ君、設定をはじめますよー!
【セレクターエディター】
まずは、メモ帳に文字を書き込む操作をレコーディング(記録)します。
最初に「メモ帳」を立ち上げて、「レコーディング」ボタンをポチッとな。記録が開始されたら「メモ帳」を選択、「文字」を記入、そして、記録を「保存」しましょう。(ちょ、ちょっと速すぎ!という方は、第13回を見ながら、ゆっくり設定してくださいね)
記録ができたら、一度動かしておきましょうか。「実行」ボタンを押して……はい、メモ帳に文字が書き込まれましたね。コロボ君、バッチリです。
それでは、少しだけメモ帳をイジります。今立ち上がっているメモ帳を選択して、「名前を付けて保存」しましょう。付ける名前は……そうですね、「test.txt」としておきましょうか。
その状態で、もう一度「再生」ボタンを押してみてください。さて、画面はどうなりましたか?
そうなんです。エラー画面が出てきます。これは、「操作を記録した時は、『無題のメモ帳県』を指定していたのに、1回ファイルを保存してしまったことで、『ファイル名が付いたメモ帳県』になってしまったから」なのです。ファイルを保存すると、メモ帳自身の「名前」、つまり『住所』が変わってしまうのですね。
ですが、ファイルの保存なんて、パソコンを使うときにはごくごく普通にやることです。ずっと『無題』のまま作業していたら、何かのタイミングで「中身がズバッと消えてしまう」ことだってあるわけですし。『こまめに保存』は基本中の基本、それはコロボ君が操作する時だって同じです。
でも、保存をしてしまうと、住所が変わってしまって、ロボットが動かなくなってしまう……と、こちらも困った問題です。うーむ。どうしましょう?
勘の良いみなさまなら、なんとなくピンときましたね。そうです、このような状況を上手に避けるために、「セレクター」という機能が存在しているのです。
「文字を入力」アクティビティの「プロパティ」パネルを見てください。「ターゲット」という棚に、「セレクター」という欄がありますね。その右側の「…」ボタンをクリックします。
『セレクターエディター』なる画面が立ち上がりました。
画面上の方に「属性を編集」、画面下の方に「セレクターを編集」と、2つの枠がありますが、よく見ると表示形式が違うだけで、内容は共通している部分がありますね。「セレクター」の方が『全体像』で、「属性」の方がその中に含まれる『個別の要素』、という感じでしょうか。
それでは、こちらの「セレクターエディター」を使って、メモ帳の「住所」、もとい「属性」を見ていきましょう。
ふむふむ。なんとなく、どの属性も見たことがあるような言葉が並んでいますね。「app」と書かれている属性には「notepad.exe(アプリケーションファイル名)」が、「cls」と書かれている属性には「Notepad(アプリケーション名)」が、そして「title」と書かれている属性には「無題–メモ帳(ファイル名)」が設定されています。
その先にもいろいろな属性が並んでいますが、今回の場合、「ファイル名」が変わってしまうことで発生するエラーを何とかしたいので、きっと「title属性」あたりをアレコレすれば、なんとかなりそうです。
ではチャチャッとイジって……とその前に、まずは「考え方」をお話ししますね。セレクターエディターは、こんな感じに使います。
属性1(app):メモ帳アプリケーションの住所→「notepad.exe」問題なし
属性2(cls):メモ帳の住所→「Notepad」問題なし
属性3(title):メモ帳のタイトルの住所→「無題 – メモ帳」問題あり(エラー)
属性4、属性5 (以下続く)
※属性1と属性2の内容が重複しているように見えますが、属性2の方は「あだ名」くらいで考えておきましょう。
もし「メモ帳のタイトル」が無ければ、エラーは起こらない。
→そうだ、「属性3(title)」を見なかったことにしよう!
ということで、「title」の横にある「チェック」を外します。するとあら不思議、ロボットは「title(メモ帳のタイトル)」を「見なかったこと」にしてくれるので、エラーが起こらなくなるのです。
ちなみに。もしこの「title」を『test.txt – メモ帳』に設定すると、今度は逆に、いくつメモ帳の画面が立ち上がっていても、確実に「test.txt」の画面を狙って、文字を書き込んでくれます。
「属性」の内容はアプリケーション毎に異なりますので、『この属性をイジれば確実にエラーを回避できる』というものではないのですが、エディターを眺めていると、「どうやらこの部分がアヤシイ」という場所が見えてきます。
その上で、最初のうちは、「その属性のチェックを外す」か、「その属性値に正しい値を入れる」という修正だけを行って、再実行してみましょう。考え方さえわかってしまえば、案外スルッとエラーを回避することができますよ。
コロボ君も無事エラーから抜け出せましたね、よかったよかった。
【シーズン2、予告】
はいみなさま、おつかれさまでした!いかがでしたか?なかなかにヤヤコシイ「セレクターの謎」がスッキリして、みなさまとコロボ君(RPA)との仲が更に良くなっていたらとっても嬉しいです。
さてさてそれでは後半は、もうひとつの残った謎、この連載の「シーズン」について、お話をすることにしましょう。
みなさま、今日も楽しくロボットと一緒にお仕事をしていますか?
「ロボットと一緒に仕事をする」なんて、物語の中に出てくるような表現も、RPAのおかげで随分と自然に使えるようになりました。テクノロジーの進歩って、本当に驚くことばかりですよね。
RPAも、この連載を開始した当初より、ずっと先へ進みました。例えば、「AI(Artificial Intelligence:人工知能)との融合」なんてことも、各所でガンガン起こっています。スキャナで取り込んだ画像に写る「文字のクセ」を機械が学習していくことにより、文字情報を正確にデータ化できるようになる、『AI-OCR』と呼ばれる技術などは、まさにその代表選手です。
−2019年2月のある日のこと−
ワタシ「いやー、RPAもドンドン進んでいきますねー」
編集長「ですねー、凄いスピードで世界が広がっていますよ」
※「RPA BANK」事業統括兼編集統括、書籍「RPAのはじめかた」でもお馴染みの武藤編集長
ワタシ「AIとの組み合わせも、もうすっかり当たり前になってきましたね」
編集長「そうですね、RPA BANKでも先端テクノロジーへの関心は超高いです」
ワタシ「それにしても、AIって『そもそも』何なのでしょうね?」
編集長「と、言いますと?」
そんな話をしていまして。
確かに、AIという言葉自体はアチラコチラで耳にするのですが、イマイチピンと来ないというか、「こういうものですよ」という『何かに組み込まれた(製品化された)状態』でしか知らないような気がします。
最先端のテクノロジーって、見たり聞いたりするだけでは、なかなか「ピンと来ない部分」ってありますよね。RPAも、最初に概要のお話を聞いた段階では、正直……ピンと来ませんでした。ね?みなさまもそうだったでしょう?……あれれ?ワタシだけ?
モヤモヤしているときは、やっぱり「イジってみる」のが一番です。「百聞はイチイジりに如かず」。RPAも、実際に様々なツールをイジってみたら、ガラガラッと印象が変わりましたし、きっとAIも、ガシガシイジってみたら、もっともっと『面白さ』がわかるような気が……しませんか?ねっ!?
ワタシ「どう思います!?編集長」
編集長「わかりました、ではシーズン2はそれで行きましょう、よろしくお願いします」
ワタシ「!!??」
と、いうことで。
先端テクノロジーをもっと身近に、その面白さを身体を張って体感しよう連載第2弾!「RPAのはじめかた(シーズン2)」、あらため、『AIのはじめかた(仮称)』、開幕(予定)です!
現在、「使用するAIプラットフォームの選定」、及び、「AIを使って何ができるのかしら?」という部分の調査を行っております。AIと言えば……骨の髄までミーハー人間のワタシ的には、かの有名な「IBM Watson」がパッと思い浮かびますが(と言うよりそれしか知らないのですが)、はてさて、一体どんな世界なのでしょう?
人事部長「コロボ君、キミには新しい職場に行ってもらうことになったよ」
コロボ「ま、まさか……何をしているのか誰も知らないAI事業部では?」
人事部長「フッフッフ、なかなかスルドイじゃないか、キミ」
コロボ君も『春の人事異動』です。
それでは、「さるでき流 RPAのはじめかた(シーズン1)」、最後までお付き合いいただきまして本当にありがとうございました。シーズン2の開幕まで、ほんの少しだけお待ちくださいませ。次のシーズンもお楽しみに!