前回に引き続き、Power Automate Desktopについて検証をしていきます。
>>前回記事はこちら
Power Automate Desktopを使ってみた:前編(インストール~画面構成について)
Yahoo!路線情報の検索(アクション追加編(断念))
動作検証とは言え何か課題が無ければ、感覚が掴みにくいので、
Yahoo!路線情報のサイトから料金を取得するサンプルを構築してみたいと思います。
ちなみに、失敗例です。WebページのUI要素の取得がうまく動きませんでした。
今回は動作検証なので下記の手順を自動化して行いたいと思います。
1. Yahoo!路線情報 に ブラウザでアクセスする。
2. 出発に「大阪」を入力する。
3.
到着に「東京」を入力する。
4. 検索ボタンを押す。
5. 料金一覧画面を表示する。
1.Yahoo!路線情報 に ブラウザでアクセスする。
Webオートメーション > 新しいChromeを起動する をドラッグ&ドロップします。
初期URLに Yahoo!路線情報のURLを指定して、「保存」をおします。
なお、詳細を開くと、ページが読み込まれるまで待機しますが既定値で有効になっている点や、
起動したChromeが Browser という変数が自動的に割り当てられている点は分かりやすく好印象です。
「保存」すると1つのアクションがMainというフローに表示されます。
この調子でフローを追加していけば、問題なく完成しそうですね。
2.出発に「大阪」を入力する。
Webオートメーション > Webフォーム入力 > Webページ内のテキストフィールドに入力する
をドラッグ&ドロップします。
先ほど作成したアクションで生成された変数 Browser がWebブラウザーインスタンスに指定されていますね。
今回の想定では、1つしかブラウザを利用しないのであまり意識する必要がありませんが、
どのブラウザかを意識しなければいけないような仕組みであれば、指定内容が正しいか確認しなければなりませんね。
出発の入力欄を指定する必要があるため、以下のUI要素を選択する必要がありそうです。
「新しいUI要素」の追加をクリックします。
このようなウインドウが表示されるため、実際にYahoo!路線情報をブラウザで開いて、要素を取得してみましょう。
「UI要素の上にマウスカーソルを合わせて、その周りにフレームが表示されるまでキャプチャし、
Ctrl +
左矢印を押してからクリックしてここに追加します。」
とありますが、なかなか、この指示に従って要素をクリックしても上手く動きません。
結論としては、「Ctrlキーを押しながら、左クリックする」ことで要素を取得できました。日本語版の翻訳ミスか何かでしょうか?
ここまで、特に詰まることなく、分かりやすく操作出来ていましたが、ここで長い時間詰まりましたね。
要素が取得できたので、「完了」ボタンを押下します。
しかし、ここで問題発生です。
先ほどの画面で、必死に取得できたはずの要素が、ここで選択できません。
表示するUI要素はありませんとなりました。システムのバグなのでしょうか?
使い方が間違っている可能性もありますが、今のところ、使い方が分かっておりません。
画像認識で、出発にフォーカスする、キー送信で入力するといった手順であれば、出来なくはなさそうですが、
WebサイトのDOM要素の取得はかなり使い勝手が悪い印象を受けます。
今後改善されることを期待したいと思います。
Yahoo!路線情報の検索(Webレコーダ編)
UI要素の読み取りは上手く活用できなかったのですが、気を取り直して、
Excelのマクロの記録に似た機能である
Webレコーダというものを利用してみたいと思います。
利用するブラウザを選択します。Chromeを選択しました。
インストールの時に、拡張機能もインストール済みなので、改めて指定する必要はなさそうです。
記録の開始ボタンを押してから、実際にWebを操作することで、アクションが生成されていく仕組みです。
初めからある程度ここで操作して、アクションのテンプレートを作り、編集画面で修正する方が良いのかもしれませんね。
Webレコーダーの「記録の開始」ボタンを押し、Web画面にて出発に”大阪” 、到着に”東京” を入力して検索ボタンを押しました。
最後にWebレコーダーの「終了」ボタンを押すことで、アクションを記録できました。
前後には、コメントが入るようですね。
今回はこれだけの操作なので、コメントの恩恵は余りないですが、
操作の途中にWebレコーダーを活用してアクションを追加するのであれば、分かりやすいと思います。
あとは、再現できれば完璧です。再生ボタンを押してみましょう。
検索結果の画面はスクロールしましたが、無事、検索結果の画面に遷移することが出来ました。
まとめ
インストールについては特に迷うことはありませんでした。
準備としてはMicrosoft Accountが必要なことくらいですね。
簡単な動作検証として「Yahoo!路線情報から料金を調べる操作の自動化」を行いましたが、
WebのUI要素の取得が、上手くいかず他のRPAツールと比べ貧弱に感じました。
Webレコーダーを利用したアクションの追加であれば、問題なく操作を再現出来たので、指定の方法が悪かっただけかもしれません。
Windows10 ユーザであれば、無償で利用できるようになったということは大きく、
アクションの種類も豊富であるため、自動化の手段として十分に選択肢になり得るという所感です。
以上、「Power Automate Desktop」の検証でした。
2021.05.11 2021.05.05
みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。
Power Automate Desktopの最初の一歩からチュートリアル的に使い方について、できる限りていねいに解説するシリーズをお送りしています。
前回の記事はこちら。
【超初心者向け】Power Automate Desktopでメッセージの表示をループする処理の作り方
Power Automate Desktopの最初の一歩からチュートリアル的に使い方について、できる限りていねいに解説するシリーズをお送りしています。今回は、Power Automate Desktopでメッセージの表示をループする処理の作り方を紹介します。
Power Automate Desktopでメッセージの表示の反復処理を作成しました。
さて、今回はそれを応用して、「請求デモアプリ」への入力のループ処理をつくっていきます。
ということで、Power Automate Desktopでアプリへの入力をまとめて行うループ処理の作り方をお伝えします。
では、行ってみましょう!
前回のおさらい
まずは、前回のおさらいから。
前回までで作成したフローはこちらです。
ポイントは、「4」の「For each」から「6」の「End」までですね。
変数ExcelDataは、開いたExcelから取得したデータテーブルですが、その各データ行について反復を行い、その「担当者名」のデータを用いて「Hello Bob!」といったメッセージ表示をするというものです。
ところで、このシリーズでは、本来はExcelのデータテーブルの内容を、レガシーな「請求デモアプリ」に入力していくのを目標としていましたね。
ということは、このFor eachアクションによるループ処理の中に、その請求デモアプリへの入力処理を入れることで、それが達成できるというわけです。
今回は、その部分の手順を紹介していきますね。
まず、「メッセージを表示」アクションは不要ですので、選択して Delete で削除しちゃってください。
ループ処理にデータ入力ルーチンを入れる
さて、しばらく「無効」になっていたので、忘れ去られているかも知れませんが、「Excelを閉じる」以降のアクション群は、「請求デモアプリ」への入力をするアクションでした。
それらのデータ入力ルーチンを「For each」と「End」アクションの間に持っていけば、ループの対象となりますね。
ということで、「7」~「11」の処理をすべて選択して、For eachのブロックにドラッグ&ドロップします。
ちなみに、複数アクションの選択は、最初アクションをクリック→最後のアクションを Shift + クリック でできますよ~。
テキストフィールドの入力値を変更する
これで、完成!
…ならいいのですが、そうはいきません。
たとえば、「6」の「ウィンドウ内のテキストフィールドに入力する」アクションの内容を見るとこうあります。
テキストボックス Edit ‘TextBox’ に ‘株式会社Hoge’ を入力する
つまり、このままですと、せっかくループ処理をするのに、毎回「株式会社Hoge」が入力されてしまうことになります。
ですから、各ループでそのときのデータ行から値を取得して、それをテキストフィールドの入力値としてもらえるように変更する必要があります。
入力テキストをデータ行から指定する
データ行から「社名」を取得し入力する
ということで、「ウィンドウのテキストフィールドに入力する」をダブルクリックして、パラメーターの選択画面を開きましょう。
「入力するテキスト」が「株式会社Hoge」のベタ打ちになっています。
これを現在対象となっているデータ行の「社名」を取得するように変更すればよいですね。
まず、「株式会社Hoge」を選択して Delete で削除し、つづいて「{x}」をクリックして開きます。
現在対象となっているデータ行は「変数CurrentItem」に入っていましたね。
ということで、「CurrentItem」をダブルクリックして入力します。
CurrentItemはデータ行ですから、個別のデータを取得するにはインデックスを各括弧で指定する必要があるのでした。
以下にあるとおり、社名はインデックス0ですね。
つまり、「%CurrentItem[0]%」と編集して「保存」でOKです。
データ行から「担当者名」「メールアドレス」を取得し入力する
同様に「7」と「8」の「入力するテキスト」に、データ行からの「担当者名」「メールアドレス」を取得して使うように設定します。
つまり、それぞれ以下のように入力します。
- 7: %CurrentItem[1]%
- 8: %CurrentItem[2]%
請求デモアプリへの入力の動作確認をする
では、実際に請求デモアプリへの入力について動作確認をしていきましょう。
まず、請求デモアプリへの入力処理のアクション「5」から「9」について、無効化されていましたので、範囲選択→右クリックメニューから「有効化する」としましょう。
そして、「請求デモアプリ」を開いた状態で、「実行」です。
すると、以下のようにExcelからのデータテーブルの各行のデータを、請求デモアプリに順次入力していくようすが確認できますよ。
作成したフローが実際に動くと、楽しいですね!
まとめ
以上、Power Automate Desktopでアプリへの入力をまとめて行うループ処理の作り方についてお伝えしてきました。
次回は、「請求デモアプリ」の起動する方法を紹介します。
【超初心者向け】Power Automate Desktopで指定したアプリケーションを実行する方法
Power Automate Desktopの最初の一歩からチュートリアル的に使い方について、できる限りていねいに解説するシリーズをお伝えしています。今回は、Power Automate Desktopで指定したアプリケーションを実行する方法を紹介します。
どうぞお楽しみに!
連載目次:はじめてのPower Automate Desktopのチュートリアル
Microsoftが提供するPower Automate DesktopはWindows 10ユーザーが無料で利用できるRPAツールです。ドラッグ&ドロップなどの簡単操作でルーチン作業を自動化することができます。本シリーズでは、その最初の一歩からのチュートリアルを、できる限りていねいに解説していきます。
- 【超初心者向け】Power Automate Desktopとは何か、またその学ぶべき理由とは
- 【超初心者向け】Power Automate Desktopをインストールをする手順
- 【超初心者向け】Power Automate Desktopのフローとそのつくり方の概要について
- 【超初心者向け】Power Automate Desktopではじめてフローをつくる手順
- 【超初心者向け】Power Automate Desktopで不要なアクションを削除して実行確認する方法
- 【超初心者向け】Power Automate DesktopでExcelを起動するアクションを追加する方法
- 【超初心者向け】Power Automate DesktopでExcelワークシートからデータを読み取るアクション
- 【超初心者向け】Power Automate Desktopで取得したExcelデータの内容を確認する方法
- 【超初心者向け】Power Automate DesktopでExcelワークシートからデータのある範囲を取得する方法
- 【超初心者向け】Power Automate DesktopでExcelを閉じるアクションを追加する
- 【超初心者向け】Power Automate DesktopでExcelのデータ範囲について反復処理をする方法
- 【超初心者向け】Power Automate Desktopでメッセージの表示をループする処理の作り方
- 【超初心者向け】Power Automate Desktopでアプリへの入力をまとめて行うループ処理の作り方
- 【超初心者向け】Power Automate Desktopで指定したアプリケーションを実行する方法