Power Automate Desktop -Vol.1- サイトを開く

#はじめに
Power Automateの「per user with attended RPA plan」で利用できるPreview版の「Power Automate Desktop」の使用感など、書いていきます。
既知の問題は [こちら](https://docs.microsoft.com/ja-jp/power-automate/ui-flows/desktop/known-issues-limitations)
公式ドキュメントは[こちら](https://docs.microsoft.com/ja-jp/power-automate/ui-flows/create-desktop)

#起動後の画面
フロー（他RPAで言うシナリオとかワークフローとか）の管理画面が表示されます。
・新規にフローを作成する場合は、「新しいフロー」をクリック
・既存のフローを更新、修正する場合は、一覧のフローをダブルクリック（マウスオーバーすると表示される鉛筆ボタンからでもOK）
・フローを実行したい場合は、フローをマウスオーバーすることで表示される▶再生ボタンをクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184423/cb41bf0f-1dfc-297f-e430-70a775ac3a10.png)

#フローを作成する（新規作成）
「フロー名」に名称を入力し、画面下部の「作成」ボタンをクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184423/cdbc6ae7-6cf7-9ba7-7102-d7043f0c1668.png)
少し待つとフローの作成画面が表示されます。
以降の画面は既存フローの編集時と共通の画面です。

#フロー完成イメージ
フローはPower Automate Desktop flow designerの画面で作成します。
画面は一体型で、パネルレイアウトは左にアクション（他のRPAだとアクティビティとかライブラリってやつ）、中央がフローチャート、右がタブ切り替えで変数、UI要素、画像一覧が表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184423/75808ebe-8d7e-c623-103d-143ffd23512f.png)

中央のパネルの上部にはWebレコーダーとデスクトップレコーダーの起動ボタンが配置されており、こちらからレコーダーを起動します。
※Webレコーダーとデスクトップレコーダーの使い方は別途※
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184423/393fa855-cfae-f53c-1021-f464ccd36f8b.png)

実際にフローを作成すると下図のイメージが完成します。
サブフロー（他RPAだとサブルーチンとか言うやつ）の作成が可能で、フローの冗長を防ぐ事ができます。
※下図のConfig、NAVITIME、GetDataのタブがサブフロー
また、変数は下図右パネル表示の通り、2種類準備されています。
・入出力変数：ユーザーが任意で作成する入出力用の変数
・フロー変数：アクションのプロパティ設定で自動的に作成可能な変数（Excelのデータ取得でExcelDataというDataTable変数を自動的に準備されるなど）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184423/1834bba5-76f7-8c47-8bef-40f90e040603.png)

アクションでUI要素（セレクター）を利用する場合、UI要素のパネルで一覧表示と各要素の内容が確認できます。
※UI要素は右パネルのタブの2番目のアイコンをクリックすることで表示（ひし形3枚アイコン）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184423/855c21eb-4a42-c451-18d9-64e2d160ecb1.png)
UI要素のプロパティは以下の画面が表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184423/ce068b97-6311-5d04-8ef7-4a1b9cf1c0c4.png)
ダブルクリックするとビルダー画面が表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184423/117cf337-df48-d636-c3b6-b8b89082d3b2.png)

#フロー作成
過去にUiPathで作成した株価取得のロボをPower Automate Desktop版で作成したいと思います。

【手順】
①株価検索サイトを開く
②検索取得対象の銘柄コードを事前に準備したExcelから取得
③株価検索サイトに銘柄コードを設定し、検索
④検索結果のデータを取得
⑤取得結果をcsvデータとして保存
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184423/b7b93e3a-ba40-8bef-ff08-d313fe417a66.png)
ではさっそく作成しましょう。

##株価検索サイトを開く
Webサイトを開く方法を2種類試してみます。
1つ目は、RPAで備わっているレコーダー機能を利用する方法です。

まず事前に利用したいブラウザで開きたいWebページを表示しておきます。
今回は株価検索サイトをChromeで表示 https://kabuoji3.com/stock/
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184423/5274953c-aa5a-6558-cb99-be58d0900c7f.png)

次にWebレコーダーを起動します。Webレコーダーは中央パネル上部のWebレコーダーをクリックして利用開始します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184423/18c92012-5e09-68ee-4a20-759536939bb6.png)
Webレコーダーをクリックすると下図の画面が表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184423/50c8017b-2b31-f6a8-2b84-b02cf693679f.png)
今回利用するブラウザはChromeのため、Chromeをクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184423/11755a3e-2cf5-6524-6c96-5796d6738504.png)
ここで、画面下部の>詳細をクリックします。
日本語表示の場合、既定で設定されていてるブラウザーインスタンス名の「ブラウザー」という文字が「無効なwebブラウザーインスタンス名です」と表示されます。既知の不具合として認識されており、日本語NG。英数字に変更が必要です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184423/db040469-1a26-9959-e14b-f92e50ecfefe.png)
「ブラウザー」を「Chrome」へ変更します。
タブを選択の項目内容が事前に開いたサイト（表示したいサイトのタブの名称）となっているか確認し、次へをクリック
※タブを選択に別のタブ名が表示されている場合はプルダウンから対象のタブを選択してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184423/a6bb42c7-f8b9-50f2-dcab-64d7a07a5116.png)
下図の画面が表示されると指定したタブのURLを開く（アクションとしてはWebブラウザーの起動）がデフォルトで設定されます。
該当Webページ内の操作を記録したい場合は、「●記録の開始」をクリックすることで記録できますが、今回は記録は行わず、そのまま画面下部の終了をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184423/34c40bde-a2cf-07b3-755c-719bac47d558.png)
画面が戻ると記録で作成されたアクションと前後にコメントが挿入されます。
※レコーダー機能を利用すると記録によって作成されたアクションの前後にコメントが自動挿入されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184423/5327f4c1-572d-2679-02cf-4a00a3e1c12b.png)

作成されたアクション（新しいChromeを起動する）をダブルクリックしてプロパティを開いてみます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184423/c9780dd3-7d0f-24e8-dd2d-a1526fac19ff.png)

####パラメーターの選択（ブラウザーを新しく起動する場合）

| 項目名| 設定値 | 説明 |
|:-----------|:------------|:------------|
| 起動モード| 新しいインスタンスを起動する| 新たにブラウザーを起動する場合に選択|
| 初期URL | %'URL'% or URL| 表示したいWebページのURLを設定（変数可）|
| ウィンドウの状態| 標準/最大化/最小化| ブラウザー表示後の状態を選択|

####詳細

| 項目名| 設定値 | 説明 |
|:-----------|:------------|:------------|
| キャッシュをクリア| ON/OFF| ブラウザー起動後にキャッシュをクリアするかの選択|
| Cookieをクリア | ON/OFF| ブラウザー起動後にCookieをクリアするかの選択|
| ページが読み込まれるまで待機します| ON/OFF| アクション後にページが読み込まれるまで待機するかの選択|
| ポップアップダイアログが表示された場合| それを閉じる/ボタンを押す/何もしない| ページ読込中にポップアップが表示された際の挙動を選択|

####生成された変数（フロー変数）

| 項目名| 説明 |
|:-----------|:------------|:------------|
| Chrome| Webオートメーションアクションで使用する新しいChromeインスタンス|

###エラー時ルール
画面下部の「エラー発生時」をクリックすることで下図が表示されます。
該当画面ではエラー時の挙動を設定することが可能です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184423/ef139813-25c5-e46b-4d58-fa36c1442542.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184423/640cf9c8-1d99-a043-bf85-cadef4d2dcc8.png)

####ルール

| 項目名| 設定値 | 説明 |
|:-----------|:------------|:------------|
| エラーが発生した場合にアクションを再試行する| ON/OFF| ONにすると2秒間隔で再試行されます|
| フロー実行を続行する| 次のアクションに移動/アクションの繰り返し/ラベルに移動| フローを続行する際のアクションを選択します。ラベル移動の場合はラベル選択が必要です|
| スローエラー| -| エラー停止します|

####詳細
確認中

####新しいルールで変数の設定とサブフローの実行をクリックした画面
エラー時にサブフローの実行や変数へのパラメーター設定が可能です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184423/40c3f6b3-0d1a-f542-ea0c-9b047b5771c4.png)

設定が完了したら、画面下部の保存ボタンをクリックして閉じます。
作成したアクションの動作確認を行うため、▶実行ボタンのクリックまたはF5押下にて実行します。
ブラウザーが起動し指定したURLが表示されることを確認します。


次回は以下の2、3を書きたいと思います。
2.検索取得対象の銘柄コードを事前に準備したExcelから取得
3.株価検索サイトに銘柄コードを設定し、検索
4.検索結果のデータを取得
5.取得結果をcsvデータとして保存