2018.10.18
UiPathで作業の自動化を行うにあたって、データの「入力」と「抽出」はとても基本的な行為です。
ここをしっかりと理解していないと、これから自動化する過程において、
どのアクティビティを使用するのかが判断しづらくのでしっかり理解しておきましょう。
「入力」とは英語に言い換えると、「Input」ということです。
さまざまな状況下で色々なフィールドに入力することがあると思います。
例えば、ログイン画面でIDとPASSを入力したり、スプレッドシートに書き込んだり、
チェックボックスをチェックしたりということもInputの一つに入るでしょう。
「抽出」とは、数ある中からある特定のものだけを取り出す、ということです。
簡単に言えば、必要な情報をうまく取り出して扱えるようにするということです。
自動化を行っていく上で、この「抽出」という行為は基本であると思います。
例えば、ウェブページからURLを取り出したり、CSVファイルの中身を読み込んだり、
Ui要素を探す行為もまた「抽出」の一つに入るでしょう。
この「入力」と「抽出」のやり方を具体的に見ていきたいと思います。
それぞれにはそれぞれのアクティビティがあり、それぞれに使い分けが必要になります。
まずは、「入力」からです。
最初にいくつかの「入力」のアクティビティを見ていきます。
●「Click」
指定したUi要素をクリックします。
プロパティによって、マウスのボタンを左、右、中央と変えることが可能です。
(*既定では左に設定されています。)
また、同じくプロパティによって、マウスクリックの種類を選ぶことが可能です。
シングル、ダブル、アップ、ダウンへと変更可能です。
(*既定ではシングルに設定されています。)
これにより、ウェブページのボタンをクリックしたり、
チェックボックスにチェックすることができます。
●「Send hotkey」
指定したUi要素にキーボードのショートカットキーを送信します。
単にキーボードのキーを送りたいときにももちろん有効です。
また、最初にいくつかの設定は必要になりますが、これを使用することによって、
アプリケーションをショートカットキーのみで開くことが可能です。
色々と面倒な、アプリケーションのパスを入力しないでよいという点を考えると
非常に使いやすい方法となります。
●「Hover」
指定されたUi要素の上にカーソルを置きます(Ui要素の上でホバーします。)
アイコンなどをドラッグ&ドロップするときに使用します。
クリックダウン→ホバー→クリックアップ
の順で使用することにより操作可能です。
なお、クリックアップとクリックダウンは先ほどの「Click」アクティビティを使用します。
●「Type Into」
指定したUi要素にテキストを送信します。
テキストだけでなく、[Tabキー]のような特殊キーも送信可能です。
このアクティビティを使うことが一番多いでしょう。
だからこそ注意しないといけないことが多いです。
では、一つずつ見ていきましょう。
まずは、特殊キーです。
先ほども少し説明したように、[Tabキー]や[Enterキー]、[Shiftキー]なども送信可能です。
アクティビティのドロップダウンリスト(下に出てくる候補)から送信可能です。
次に、前の内容を消去してから書き込む方法をお教えします。
それが、EmptyFieldです。
このチェックボックスをオンにすると、テキストを書き込む前にすべての要素が消去されます。
これは、テキストフィールドが今どのような状態か考えなくても、
必ず何もない状態から始めることができるものです。
ここからはオプションの違いを説明します。
簡単に言うと、オプションの違いは三つあります。
<Default><Window Message><Simulate>
の三つです。
それぞれの特徴をまとめます。
<Default>
デフォルトの状態のもので、文字送信の正確性は高いです。
特殊キーを送信することができますが、バックグラウンドで使用することができません。
そして、速度も遅いです。
<Window Message>
基本的に上のデフォルトの状態と同じですが、こちらはバックグラウンドでも使用可能です。
その分、小文字しか入力できないという欠点を持ちます。
<Simulate>
この三つの中では一番早く動きます。
しかし、特殊キーを送ることが出来なかったり、
エンプティーフィールドに文章を打てないなどの欠点を持ちます。
最後に、これらを表にまとめたものがありますので、よろしければご覧ください。
(UiPath Studio ガイドより抜粋)
このように入力には様々な種類が存在し、
その中でもTypeIntoアクティビティは様々なオプションなどが存在するので、
理解して使用していきましょう。
次は、抽出です。
ウェブページなどから必要なデータを取り出すということです。
こちらも多くの方法が存在するのですが、そのいくつかを見ていきましょう。
●「Get Text」
表示しているターミナル全体からテキストを取得して文字列変数に格納します。
●「Screen Scraping」
この方法は、指定したUi要素やPDFファイルのようなものから、
データをうまく抽出するアクティビティです。
その中にも三つの方法が存在します。
<FullText><Native><OCR>
これらはそれぞれに短所や長所がありますので、用途によって使い分ける必要があります。
これらについて、特徴をまとめます。
<FullText>
これがデフォルトで設定されているメソッドで、基本的にこのメソッドで補うことが出来ます。
スピードも速く、正確性も高いです。
さらに、バックグラウンドでも使用可能で、隠れている要素なども見つけることができます。
<Native>
テキストやボタンの位置座標などを特定して、抽出することが可能です。
<OCR>
その名の通り、OCR技術を使用して、仮想環境のCitrix環境下でも使用可能です。
画像として認識するため、テキストなどの位置座標を特定、抽出するすることが可能です。
また、これらは以下のような対応関係があります。
このようにそれぞれのメソッドに対応したアクティビティが存在するのです。
実は、最初に説明した「GetText」はBasicRecordingに対応しているのでした。
また、ScreenScrapingのメソッドを表にまとめたものがありますので、よろしければご覧ください。
(UiPath Studio ガイドより抜粋)
●「DataScraping」
これを使用すると、ウェブページやアプリケーションの構造化データを抽出して、
CSVファイルやExcelファイルへと書き込むことが可能です。
構造化データとは、様々な同じパターンのデータのことで、
例を挙げると、検索結果のページには、
ウェブページのリンク、URLの文字列、ウェブページのタイトル
などがパターン化されていくつも並んでいます。
これらの構造化データを簡単に抽出することができます。
構造化したデータの抽出はとても簡単で、対応するデータを順番にクリックしていくだけです。
例をお見せしましょう。
これは、BingでUiPathと入力したときの検索結果です。
0、「UiPath」の検索結果
ここから、ページのタイトルとURLを取り出します。
リボンの上にある、DataScrapingをクリックしてデータ抽出をはじめてください。
次に、NEXTを押して、要素をクリックします。
同様に、続けて、NEXTを押して、次の要素をクリックします。
以下に進行画像をのせます。
1、DataScrapingはじめの画面
2、はじめに抽出するUi要素
3、二回目へと続くDataScrapingの画面
4、二つ目のUi要素
ここまで来たらあとは勝手にUiPathが次の要素も見つけてくれるので、
最後は、列に名前をつけたら終了です。
5、列の名前付け画面
このように、とても簡単に構造化したデータを抽出することができます。
抽出にもたくさんの種類が存在しました。
理解して使用できるようになりましょう。
自動化の基本となるデータの「入力」と「抽出」を見てきました。
それぞれ、いくつもの方法が存在して、それぞれに特徴がありました。
それらを場合に応じて、使い分けられるようにしっかりと理解していきましょう。