Power Automate Desktopで、Webページにファイルをアップロードする自動化事例です。kintoneを題材に、「添付ファイル」フィールドに指定のExcelファイルを保存します。
内容:
なお、動作確認で使用のツールは次のとおり。
Power Automate Desktop(バージョン 2.42.317.24061)
Microsoft Edge (バージョン 122.0.2365.92)
事例の前提
Webページにファイルをアップロードする対象のkintoneの入力ページは次のとおり。
「添付ファイル」フィールドに“参照”のリンクがあり、ファイルを指定できる仕様。
「添付ファイル」フィールドの”参照”のリンクをクリックすると、次のようなファイル選択可能なウインドウが表示される。
アウトプットイメージ
この事例のPower Automate Desktopの設定イメージは次のとおり。
入力ページ(レコード登録のページ)を表示、「添付ファイル」フィールドの“参照”のリンクをクリック、ファイルを登録するアクションフローで、動作安定を目的に「Wait」アクションで1秒待機を含めている。
なお、事例のkintoneの場合、事前にログインが必要であるが、説明簡略のためログイン状態でのフローで説明する。
ログイン等の自動化が必要な場合や、初めてPower Automate DesktopでWeb操作をする場合は、以下を参考にする。
設定手順
1.Microsoft Edgeを起動、入力ページの表示
Power Automate Desktopの編集画面で、画面左側にある「ブラウザ自動化」メニューの中から「新しいMicrosoft Edgeを起動」アクションを追加する。
入力ページは、kintoneで該当ページの「レコードを追加する」をクリックした時のURL(例:https://●●●●●●/●/edit)を設定する。
2.「添付ファイル」フィールドの”参照”をクリック
Power Automate Desktopの編集画面の左側にあるアクションメニューから「ブラウザ自動化」-「Webページのリンクをクリック」アクションを追加する。
なお、この事例でUI要素の指定例は次のとおり。
「UI要素ピッカー」による自動設定で作成された正規表現を用いている。
input[Id@="^p1hp(.*)_html5$"]
3.ファイル選択画面でファイル名を指定
(1)「ウィンドウ内のテキストフィールドに入力する」アクションの追加
Power Automate Desktopの編集画面の左側にあるアクションメニューから「UIオートメーション」-「フォーム入力」ー「ウィンドウ内のテキストフィールドに入力する」アクションを追加する。
冒頭の「事例の前提」のとおり、この事例でファイル選択画面は、Webページではなく、Windowsのウィンドウが表示されている。
ファイル名の欄には設定簡略化のため、フルパスで指定する。
例) "E:\テスト\サンプルA.xlsx"
なお、この事例で「ファイル選択画面」ファイル名欄のUI要素の指定例は次のとおり。
「UI要素ピッカー」による自動設定で作成されたセレクターを用いて次のようにしている。
> window[Class="#32770"][Name="開く"] > combobox[Name="ファイル名(N):"] > edit[Name="ファイル名(N):"]
window[Class="#32770"]の補足
window[Class="#32770"]は、以下でダイアログ ボックスのクラスとなっていた。
(2)「ウィンドウ内のボタンを押す」アクションの追加
「ファイル選択画面」の"開く"をクリックするため、Power Automate Desktopの編集画面の左側にあるアクションメニューから「UIオートメーション」-「フォーム入力」ー「ウィンドウ内のボタンを押す」アクションを追加する。
この事例で「ファイル選択画面」開くボタンのUI要素の指定例は次のとおり。
> window[Class="#32770"][Name="開く"] > button[Class="Button"][Name="開く(O)"]
4.ファイル選択をWebページに反映させるため待機
今回の事例では、「ファイル選択画面」で指定したファイルをWebページに反映する前に次の処理が実行され、期待する動作にならなかった。
そのため、動作安定のためにWaitアクションを追加して1秒待機する処理にした。
5.Webページの「保存」ボタンのクリック
画面左側にある「Webフォーム入力」メニューの中から「Webページのボタンを押します」アクションを追加し、「保存」ボタンをクリックする。
上記の設定で、kintoneの「添付ファイル」フィールドに指定のExcelファイルを保存できました。
以上、Power Automate Desktopで、Webページにファイルをアップロードする自動化事例でした。