アクティビティ
最新
バナーの背景画像
UI Automation のアクティビティ
最終更新日 2024年4月3日

表抽出

Studio のモダン エクスペリエンスの一部である表抽出機能では、UI Automation アクティビティ パッケージを使用して、アプリケーションから構造化データを自動的に抽出し、それを DataTable オブジェクトとして保存して、さらにオートメーション プロセスで使用することができます。

このプロセスは、Studio の [表抽出] レコーダーを使用することで実行できます。このレコーダーは、現在のプロジェクトに UI Automation v21.4 以降のパッケージがインストールされており、[モダン エクスペリエンス] を選択している場合は、リボンからアクセスできます。

ワークフローで [表データを抽出] アクティビティを使用している場合も、同じウィザードを使用できます。

表抽出レコーダーを使用する

プロジェクトで [モダン エクスペリエンス] を選択しており、UI Automation アクティビティ パッケージがインストールされている場合は、Studio のリボンに [表抽出] レコーダーがあります。



リボンの [表抽出] ボタンをクリックすると、表抽出ウィザードが開きます。



このウィザードを使用すると、[表データを抽出] アクティビティが提供する機能スイート全体を非常に簡単に設定できます。この画面で F4 キーを押すと、利用可能なフレームワークである既定UI Automation、および Active Accessibility を切り替えることができます。また、[情報] セクションでは、構造化データを正常に抽出するために必要な手順をすべて確認できます。このセクションを折りたたむと、現在の手順に関するより詳しい情報が表示されます。



データの抽出プロセスを開始するには、[データを追加] ボタンをクリックします。これにより、作成する表を識別するために使用できる、一連の類似した要素を指定するプロセスが開始されます。指定プロセスが開始され、現在作業中のアプリケーションの検出された要素すべてが強調表示されます。 ボタンを選択すると、抽出したデータの URL と画像ソース (ある場合) を抽出できます。これらは、最終的な表に新しい列として追加されます。



上の図に示すように、列ヘッダーをクリックすると、ウィザードでメッセージが表示され、自動的に識別された、使用可能な列すべてを抽出するかどうか尋ねられます。[はい] を選択すると、表全体がスクレイピングされます。

最初の列から要素のうち 1 つのみに近い要素 (最小の共通の親要素) を選択すると、それが自動的に新しい列の最初の要素と見なされます。

表が複数のページにまたがる場合は、[次へ] ボタンをクリックすると、次のページへのナビゲーション ボタンまたはリンクを選択できます。

各列は個別に編集または削除できるため、最終的な表を自由にカスタマイズできます。



必要なデータをすべて選択したら、[保存して Studio に戻る] ボタンをクリックすると、ウィザードが自動的に閉じ、ワークフローで行った作業内容がすべて保存されます。

抽出データを編集する

[表データを抽出] アクティビティの本体に表示されるコンテキスト メニューで [抽出データを編集] オプションを選択すると、既にスクレイピングされている表の編集を再開できます。このオプションを使用すると、それまでに行ったすべての設定を含むウィザードが再度開くので、中断した場所から設定を再開できます。



列を編集する

編集する列の横にある歯車アイコンをクリックすると、[列の設定] ウィンドウが開きます。



ここで、[列名] を編集できます。テキスト ボックスを使用して、最終的な表の列に使用する名前を指定することで、編集を実行できます。

[データを次の形式で解析] ドロップダウン メニューを使用すると、列に使用できる 3 つの主なデータ型 ([テキスト][数値]、および [日付と時刻]) のいずれかを選択できます。

[サンプル] テキスト ボックスには、[データを次の形式で解析] ドロップダウンで選択したデータ型として解析される列の値のサンプルが表示されます。

テキスト

[並べ替え] ドロップダウン メニューは、列内のデータを並べ替えるかどうかを指定します。既定では、[なし] が選択されており、データの並べ替えは実行されません。列内のデータをアルファベット順に並べ替えるには、希望する方法に応じて、[昇順] または [降順] を選択できます。

Number

[データを次の形式で解析] ドロップダウンで [数値] を選択すると、数値固有のその他のオプションが表示されます。



[並べ替え] ドロップダウン メニューは、列内のデータを並べ替えるかどうかを指定します。既定では、[なし] が選択されており、データの並べ替えは実行されません。列内のデータを英数字順に並べ替えるには、希望する方法に応じて、[昇順] または [降順] を選択できます。

[小数点区切り] は、最終的な表で小数点区切りに使用する記号を指定します。既定では、この記号は「.」です。
[3 桁の区切り文字] は、最終的な表で 3 桁の区切り文字に使用する記号を指定します。既定では、この記号は「,」です。
注: 数字をスクレイピングする場合、数字は選択したオプションに従って解析され、区切り文字およびその他の記号 (例: $) は削除されます。

日付と時刻

[データを次の形式で解析] ドロップダウンで [日付と時刻] を選択すると、日付と時刻の形式に固有のその他のオプションが表示されます。



編集中の列が指定した形式と一致しない場合、[列の設定] ウィンドウの [サンプル] セクションに通知が表示されます。



[並べ替え] ドロップダウン メニューは、列内のデータを並べ替えるかどうかを指定します。既定では、[なし] が選択されており、データの並べ替えは実行されません。列内のデータを日付順に並べ替えるには、希望する方法に応じて、[昇順] または [降順] を選択できます。

[日付の解析形式] ドロップダウンでは、サポートされている多数の日付と時刻の形式から選択できます。

注: 日付を選択すると、日付はオペレーティング システムで選択した形式に従って書式設定されます。ウィザードで選択された解析形式は、スクレイピング対象のデータを識別するためにのみ使用されます。

[設定] セクション

[設定] セクションでは、表内の要素の抽出を制限するかどうかを選択できます。既定では、このオプションは [制限なし] に設定されています。つまり、抽出は制限されず、表示されている表全体がスクレイピングされます。

[最大行数] オプションは、右側のフィールドに表示されている行数にスクレイピングを制限します。既定では、これは 1,000 行に設定されています。

[最大ページ数] オプションは、右側のフィールドに表示されているページ数にスクレイピングを制限します。既定では、これは 100 ページに設定されています。

[プレビュー] セクション

[プレビュー] セクションは、指定したテーブルで識別される列と行の数を指定します。また、目の形のボタンをクリックすると、抽出された表のプレビューを確認できます。

メタデータを抽出

[メタデータを抽出] プロパティには、列ごとに抽出されるデータを識別するパスの XML 定義が含まれます。データ抽出ターゲット (セレクターによって定義された) から列要素までのパスが構築されます。このパスでは、tagidxtext などの属性が使用されます。

例:

<extract> 
<!—columns data identified by a path > 
<column exact='1' name=’Description’ attr='text'> 
<webctrl tag='div' /> 
<webctrl tag='div' idx='1' /> 
<webctrl tag='div' idx='1' /> 
<webctrl tag='div' idx='2' /> 
<webctrl tag='div' idx='1' /> 
<webctrl tag='div' idx='1' /> 
<webctrl tag='span' idx='1' /> 
</column> 
<column exact='1' name=’Currency’ attr='text'> 
<webctrl tag='div' /> 
<webctrl tag='div' idx='1' /> 
<webctrl tag='div' idx='1' /> 
<webctrl tag='div' idx='2' /> 
<webctrl tag='div' idx='1' /> 
<webctrl tag='div' idx='1' /> 
<webctrl tag='span' idx='2' /> 
</column> 
</extract><extract> 
<!—columns data identified by a path > 
<column exact='1' name=’Description’ attr='text'> 
<webctrl tag='div' /> 
<webctrl tag='div' idx='1' /> 
<webctrl tag='div' idx='1' /> 
<webctrl tag='div' idx='2' /> 
<webctrl tag='div' idx='1' /> 
<webctrl tag='div' idx='1' /> 
<webctrl tag='span' idx='1' /> 
</column> 
<column exact='1' name=’Currency’ attr='text'> 
<webctrl tag='div' /> 
<webctrl tag='div' idx='1' /> 
<webctrl tag='div' idx='1' /> 
<webctrl tag='div' idx='2' /> 
<webctrl tag='div' idx='1' /> 
<webctrl tag='div' idx='1' /> 
<webctrl tag='span' idx='2' /> 
</column> 
</extract>
ユーザーが指定したサンプル データを識別するのに、tagidx、および text 属性では不十分な場合は、パスではなく CSS セレクターが生成されます。このセレクターは、サンプル要素の共通クラスを使用します。

例:

<extract> 
<!—column data identified by a path > 
<column exact='1' name='Description' attr='text'> 
<webctrl tag='li' /> 
<webctrl tag='div' idx='1' /> 
<webctrl tag='a' idx='1' /> 
<webctrl tag='div' idx='2' /> 
<webctrl tag='div' idx='1' /> 
<webctrl tag='h3' idx='1' /> 
</column> 
<!—column data identified by a css-selector > 
<column css-selector='.currency-value' name='Currency' attr='text' /> 
</extract><extract> 
<!—column data identified by a path > 
<column exact='1' name='Description' attr='text'> 
<webctrl tag='li' /> 
<webctrl tag='div' idx='1' /> 
<webctrl tag='a' idx='1' /> 
<webctrl tag='div' idx='2' /> 
<webctrl tag='div' idx='1' /> 
<webctrl tag='h3' idx='1' /> 
</column> 
<!—column data identified by a css-selector > 
<column css-selector='.currency-value' name='Currency' attr='text' /> 
</extract>
[説明] 列では、tag および index 属性を使用して列データを識別します。

[通貨] 列では、要素はサンプルの共通クラスを含む CSS セレクターを使用して識別されます。

必要に応じて、[説明] にも CSS セレクターを使用できます (利用可能な場合)。

<extract> 
<!—columns data identified by css-selectors > 
<column css-selector='.product-title ' name='Description' attr='text' /> 
<column css-selector='.currency-value' name='Currency' attr='text' /> 
</extract><extract> 
<!—columns data identified by css-selectors > 
<column css-selector='.product-title ' name='Description' attr='text' /> 
<column css-selector='.currency-value' name='Currency' attr='text' /> 
</extract>

行定義では、列と同じ識別方法が使用されます。また、行定義は相関するデータを抽出するために使用されます。行には、各列の要素が含まれます。

例:

<extract> 
<! -- row definition - ->  
<row exact='1'> 
<webctrl tag='li' /> 
<webctrl tag='div' idx='1' /> 
<webctrl tag='a' idx='1' /> 
<webctrl tag='div' idx='2' /> 
<webctrl tag='div' idx='1' /> 
</row> 
<column exact='1' name='Description' attr='text'> 
<webctrl tag='li' /> 
<webctrl tag='div' idx='1' /> 
<webctrl tag='a' idx='1' /> 
<webctrl tag='div' idx='2' /> 
<webctrl tag='div' idx='1' /> 
<webctrl tag='h3' idx='1' /> 
</column> 
<column css-selector='.currency-value' name='Column' attr='text' /> 
</extract><extract> 
<! -- row definition - ->  
<row exact='1'> 
<webctrl tag='li' /> 
<webctrl tag='div' idx='1' /> 
<webctrl tag='a' idx='1' /> 
<webctrl tag='div' idx='2' /> 
<webctrl tag='div' idx='1' /> 
</row> 
<column exact='1' name='Description' attr='text'> 
<webctrl tag='li' /> 
<webctrl tag='div' idx='1' /> 
<webctrl tag='a' idx='1' /> 
<webctrl tag='div' idx='2' /> 
<webctrl tag='div' idx='1' /> 
<webctrl tag='h3' idx='1' /> 
</column> 
<column css-selector='.currency-value' name='Column' attr='text' /> 
</extract>

表の設定

このプロパティには、スクレイピング ウィザードで定義された、列設定の XML 定義が含まれます。[名前][形式] などの列プロパティは、この XML 定義で直接変更でき、実行時に出力データ テーブルを構築する際に使用されます。

例:

<Table xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema' Type='Structured'> 
<Column xsi:type='DataColumn' ReferenceName='Column0' Name=’Description'> 
<Format xsi:type='TextColumnFormat' /> 
</Column> 
<Column xsi:type='DataColumn' ReferenceName='Column2' Name=’Currency'> 
<Format xsi:type='TextColumnFormat' /> 
</Column> 
</Table><Table xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema' Type='Structured'> 
<Column xsi:type='DataColumn' ReferenceName='Column0' Name=’Description'> 
<Format xsi:type='TextColumnFormat' /> 
</Column> 
<Column xsi:type='DataColumn' ReferenceName='Column2' Name=’Currency'> 
<Format xsi:type='TextColumnFormat' /> 
</Column> 
</Table>

Was this page helpful?

サポートを受ける
RPA について学ぶ - オートメーション コース
UiPath コミュニティ フォーラム
UiPath ロゴ (白)
信頼とセキュリティ
© 2005-2024 UiPath. All rights reserved.