見出し画像

RPAデベロッパー基礎㊵ 出力メソッドとアクティビティ

今日もUiPath Academyの「RPAデベロッパー基礎」で学習していきます


出力メソッドとアクティビティ

テキストを取得

指定した UI 要素からテキスト値を抽出

フルテキストを取得

フルテキストの画面スクレイピング メソッドで、指定した UI 要素から文字列とその情報を抽出

画面スクレイピングを使用したときも、このアクティビティがコンテナーと合わせて自動的に生成される

非表示テキストも既定でキャプチャされる
(ただし、非表示テキストを無視するオプションがある)

表示中のテキストを取得

ネイティブ画面スクレイピング メソッドを使用して、指定した UI 要素から文字列とその情報を抽出

このアクティビティは、選択したネイティブ メソッドによる画面スクレイピングの実行時にも、コンテナーと共に自動生成される

OCRでテキストを取得

OCR 画面スクレイピング メソッドを用いて、指定した UI 要素から文字列とその情報を抽出
このアクティビティは画面スクレイピングの実行時にも、コンテナーと共に自動で生成することもできます。既定では、[UiPath 画面 OCR] エンジンが使用される

データ スクレイピング ウィザード

データ スクレイピングは Studio の機能であり、アプリケーション、ブラウザー、ドキュメントの構造化情報を DataTable 型変数に抽出
この機能には、Studio の [デザイン] リボンにある [データ スクレイピング] ボタンから直接アクセスできる

最初に選択した要素を先頭の列として使用
また、URL を抽出するオプション (存在する場合) も表示される

ユーザーは列の順序を変更し、抽出するエントリの最大数を指定できる (既定は 100 です。0 のままにするとすべての結果が抽出される)

プレビュー段階では、[相関するデータを抽出] オプションを使用して他のデータ フィールドを抽出できる
この場合、メインのフィールドと同様に、1 番目と 2 番目のエントリを指定する

属性抽出系アクティビティ

これは、実際には UI 要素からテキストを抽出する必要はなく、色、配置、または親要素を抽出したい場合に使用可能なアクティビティのカテゴリですが、これを実行するために、UiPath には 3 つの異なるアクティビティがある
[親要素を取得]: UI 要素は親子構造になっています (たとえば、テキスト ドキュメントには親 (アプリのカテゴリが親のもの) としてメモ帳がある)
[親要素を取得] は UI 要素の親要素 (または親) を取得
[属性を取得]: UI 要素には多くの属性があります。たとえば、Web サイトのボタンには、色、名前、ステートなどの属性がある
[属性を取得] を使用すると、ユーザーは属性を指定でき、このアクティビティが特定の属性の値を取得
[位置を取得]: このアクティビティは特定の要素の画面上での実際の位置を取得します。画面上に類似する要素が多数あるときに非常に役立つ

【デモ】メモ帳から文字列を取得する

テキスト ファイルを指定するオプションは 2 つ
1 つ目のオプション
アプリケーションを開いたままにし、[ウィンドウにアタッチ] アクティビティを使用してファイルを指定
2 つ目のオプション
ファイルを Studio のプロジェクト フォルダーに保存し、[アプリケーションを開く] アクティビティの [引数] プロパティを使用してファイル パスを指定

準備:UiPath Studio に関するテキスト ファイルを作成して、「What is UiPath Studio」というファイル名で保存
 (今回は、実行時にファイルが閉じていることを前提)

ファイルを Studio のプロジェクト フォルダーに保存
テキスト ファイルをコピー→[プロジェクト] パネルに貼付け

1⃣ [アプリケーションを開く] アクティビティ

命名規則のベスト プラクティスに従って、アクティビティとシーケンスの表示名を変更

●[プロジェクト] パネルからテキスト ファイルを開き、[画面上でウィンドウを指定] オプションを使用してこれを指定
●プロパティの [引数] ファイル パスを設定
このパスを使用してファイルにアクセス

2⃣ [テキストを取得] アクティビティを追加

[ウィンドウ内で要素を指定] を選択
●String 型の「RetrieveNotepadText」変数作成
●[テキストを取得] アクティビティの [プロパティ] パネルの [値] フィールドに追加

3⃣ [メッセージをログ] アクティビティ

ファイルから取得したテキストを表示
[メッセージ] プロパティ フィールドに、変数 RetrieveNotepadText を入力

4⃣ [アプリケーションを閉じる] アクティビティ

[ウィンドウ内で要素を指定] をクリックし、メモ帳を選択

ビデオ デモ - 画面スクレイピングとデータ スクレイピング

画面スクレイピング

画面スクレイピング機能を使用することで、任意のアプリケーションの任意の要素、画像、領域から生のテキストを文字列値として抽出することができる


[デザイン] リボンから [画面スクレイピング] を開く
既定で選択されている [UI 要素] を指定するか、[領域] を指定するかを選ぶ
既定のスクレイピング メソッドは [フルテキスト]
[ネイティブ] を選択し、[更新] をクリック
[ネイティブ] メソッドではデータが抽出されなかったことがわかる

[OCR] も試す
[OCR] では、利用可能なエンジンが 3 つ用意されている
[Microsoft OCR]、[Tesseract OCR]、[UiPath Screen OCR] 
[UiPath Screen OCR] には API キーが必要

[フルテキスト] メソッドによって正しいテキストが取得されたので、これを選択し、[更新] をクリックした後、[完了] をクリック
[フル テキストを取得] アクティビティのテキストを格納する String 型変数「DepositTransactionText」を作成
変数のスコープを「ScreenScrapingDemo」に変更して、この変数を [テキスト] プロパティに追加

抽出したテキストを [出力] パネルに出力するために
[メッセージをログ] アクティビティを追加


データ スクレイピング

データ スクレイピングは、ブラウザー、アプリケーション、またはドキュメントから構造化データを抽出して、データベース、CSV ファイル、さらに Excel スプレッドシートに出力するための機能

Google でビデオを検索して データ スクレイピングするワークフローを作成
最初の 50 件の結果のタイトル、URL、アップロード日をスクレイピングし、この情報を含む CSV ファイルを出力

[ブラウザーを開く] アクティビティ Google URL を入力
[文字を入力] アクティビティ  検索ボックスを指定
テキスト フィールドに「"data scraping"」と入力
[ホットキーを押下] アクティビティ [Enter] キー選択
[クリック] アクティビティ [Videos] タブを指定

[デザイン] リボンから [データ スクレイピング] を選択し、[次へ]
先頭の動画のタイトルを選択して [次へ] をクリック
パターンを作成するため2 つ目の動画のタイトルもクリック

[相関するデータを抽出] を選択し、先頭の動画のアップロード日を指定
データが複数のページにわたっているので、
[はい] をクリックして、Google ページの [次へ] ボタンを指定
変数「ExtractDataTable」に格納⇒DTを付けて変数の名前を変更

[クリック] の下にアクティビティを移動し、[ブラウザーにアタッチ] を削除
これは、周りを囲んでいる [ブラウザーを開く] アクティビティに同じターゲットがあるから

[CSV に書き込み] アクティビティ
表データをコピーして指定した CSV ファイルに貼り付けるために使用

データのコピー元のデータ テーブルを指定
この例では、変数 DT_ExtractDataTable
[タブを閉じる] アクティビティを追加

最初の 50 件の結果がキャプチャ

画面スクレイピングは、アプリケーション内の任意の要素、画像または領域から生のテキストを抽出するために使用します。
他方、データ スクレイピングは、ブラウザー、アプリケーション、またはドキュメントから、データベース、CSV ファイル、さらには Excel スプレッドシートに、構造化データを抽出するために使用します。



この記事が気に入ったらサポートをしてみませんか?