Power Automate Desktopを使い始める。ブラウザ操作の自動化を試す

##Power Automate (旧MS Flow) とは違う

「Power Automate Desktop」を最近使い始めました。
「Power Automate (旧MS Flow) 」は、オンラインサービス/ツールとの連携が主でしたが、「Power Automate Desktop」は、PC（パソコン）のデスクトップ画面を操作するための機能がメイン、と考えた方がよいように思えました。

ブラウザを立上げ、キーワード検索するまでを自動化してみます。
まず、「Power Automate Desktop」を立ち上げ、「新しいフロー」を作成します。
（後で変更するのですが）「Google」で検索することを試みます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1143963/4aaaa8bd-cc3f-221d-89ee-2de28a36bfe3.png)

登録するフロー名を記入します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1143963/6f739916-884b-fcce-12f3-8b4ee3fe12be.png)

フローを設定する画面が表示されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1143963/395c246a-de3d-dba2-7c30-a93d9fc69f16.png)

左パネルから「Webオートメーション」→「新しいChromeを起動する」を右側のスペースにドラッグします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1143963/7fcb0da5-93e1-d98e-506b-a22ea49291be.png)

「新しいインスタンスを起動する」のまま、「初期URL」に「https://www.google.com/ 」と記入します。
「保存」します。
これで「Chromeを立ち上げ、Googleのサイトを開く」というフローを設定できました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1143963/b0a5688b-729f-f42e-7fe1-b7ec2206d1b4.png)

##検索キーワードを入力

次に、検索窓にキーワード入力をする操作を登録します。
左パネルから「Webページ内のテキストフィールドに入力する」をドラッグします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1143963/8906d99e-8112-153c-18eb-72456d167b18.png)

ここで設定するのは「UI要素」です。
右端をクリックし、「UI要素の追加」で「検索窓」を追加します。
しかし、Googleの検索窓が設定できませんでした。
2週間ほど前に初めてPower Automate Desktopを使った際は、設定できましたが、なぜかできなくなっています。
他のタブに別のサイトなどを表示すると、U/I要素が登録できるのですが、Googleの画面はできませんでした。
原因は後で調べることにし、今回は開く検索サイトを[「seekR」](http://seekr.jp/)（R言語に特化した検索サイト）に変更することにしました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1143963/612ff8fb-3963-ac13-aef6-d50085162603.png)
 
設定したフローの画面に戻り、「新しいChromeを起動する」の右側をクリックして「編集」を選択します。
先ほど「https://www.google.com/ 」と書いたフィールドを「http://seekr.jp/ 」と書き換えます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1143963/520ad360-9fb3-4a61-5624-505a22076556.png)


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1143963/dbc81772-53df-1ac4-e2aa-4c251c778674.png)

再度「Webページ内のテキストフィールドに入力する」をドラッグし、「UI要素の追加」をクリックします。
「seekR」の画面に移ると、捜査対象の各U/I要素にマウスカーソルが持って行かれると赤い枠で囲まれます。
今回は「検索窓」を指定したいので、「検索窓」にマウスカーソルを置いて赤い枠を表示させ「Ctrlキーを押しながら左クリック」します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1143963/1572ddb2-153e-d762-7dc8-162c45818584.png)

「完了」を押すことで登録されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1143963/8d3c472e-dd54-b785-a19f-b3a2a888ea99.png)

フローの設定画面に戻り、「テキスト」に検索ワードを入力します。
今回は「tidyverse」と入力します。
（tidyverse：データの読み込み、抽出、加工、可視化など、データ分析のための機能を提供するパッケージ群）
「保存」します。
これで、「Chromeを立ち上げてseekRのサイトを開き、検索窓にtidyverseを入力する」フローまで設定できました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1143963/b505288a-68de-7194-5933-d038df62cf5c.png)

最後に「検索ボタンを押す」フローを設定します。
左パネルから「Webページのボタンを押します」をドラッグします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1143963/935f1f72-b7d2-f84b-506f-c3730b130014.png)

「UI要素の追加」を選びます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1143963/af777935-f01d-12da-231d-b964662435ba.png)

「seekR」の画面上で「検索ボタン」にマウスカードルを持って行くと赤い枠に囲まれるので、「Ctrlキー+左クリック」し、「完了」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1143963/4444b963-d7b8-7b9d-0aad-5652a5e420d5.png)

「保存」で「検索ボタンを押す」というフローが追加されました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1143963/a645b9bf-db2b-fa52-f38f-636f77add9c5.png)

画面上の「実行」アイコンをクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1143963/25c99235-a3d1-2fe3-c4cc-14f9827c6a39.png)

すると、

* Chrome起動
    * seekRを開く
* 検索窓を選ぶ
    * 検索キーワード を入力
* 検索ボタン選択
    * ボタンをクリック

というフローが実行され、検索結果が表示されます。 


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1143963/09bfbd8a-3bbf-1df6-4c3d-9454e442593c.png)

組み合わせ次第で応用範囲は広がりそうです。
ただ、U/Iに依存している部分は、インタフェースデザインが変わると使えなくなるような気がするので、そこが気がかりです。
使い道はあるな、と感じたので、もう少し色んなパターンを試してみるつもりです。

**了**