この記事では、Power Automate Desktop(以下、PAD)のカスタムフォームを使用して、Webシステムのラジオボタンを自動選択する方法を紹介します。
カスタムフォームは条件を分岐するときに便利なので、使いやすいフローを作りたい方はぜひ参考にどうぞ。
動きはこんな感じです。
- カスタムフォームの設定方法
- カスタムフォームで選択した値を利用してWebシステムのラジオボタンを選択する方法
全体の流れ(フロー図)

今回は、Webシステムに設置されている3項目(性別・予定日・場所)を、カスタムフォームで選択した内容に応じて自動で選択していきます。
全体のフローは下図のようになります。

1.カスタムフォームを作成する
まず、アクションから「カスタムフォームを表示」を追加し、カスタムフォームをデザインしていきます。
選択項目の設定

「フォーム要素」から使いたいアクションを選択し、「フォーム構造」のエリアにドラッグ&ドロップします。
今回は、項目が3つ(性別・予定日・場所)あるため、「テキスト入力」を3つ追加して以下のように設定します。
| 項目 | 選択肢セットの入力 |
|---|---|
| ID | Choice set input ※変数的な役割 |
| ラベル | フォーム上に表示される項目名 |
| 既定値 | フォームにデフォルトで入力・選択しておきたい値 |
| 複数の選択を許可 | 複数選択可の場合はチェックを入れる |
| スタイル | 展開済み or コンパクトを選択 |
| 選択肢 | ラジオボタンの項目 |
今回の例では、性別と場所は「展開済み」、予定日は「コンパクト」で作成しています。
同様に「予定日(ID:Choice set input2)」と「場所(ID:Choice set input3)」も追加しましょう。
ここでは、IDの役割がとても大切です。
後ほど、UI要素を設定する際に各IDを使用します。
送信ボタンを追加
最後に「送信(Submit)」ボタンを追加します。
送信ボタンは、カスタムフォームで入力・選択した内容を確定するボタンです。
| 項目 | 選択肢セットの入力 |
|---|---|
| ID | Submit |
| タイトル | [OK]や[実行]など |
| 指定した入力を無視する | 必須項目がある場合、入力がなくても強制的に進める |
最後に、忘れずに「完了」をクリックしましょう。
2.WebページのラジオボタンのUI要素を取得する
まずはブラウザを起動し、ラジオボタンが配置されているページを開きます。
アクションを1つずつ追加して設定することもできますが、レコーダーを使用すると簡単かつスムーズに設定できます。
新しいChromeを起動する

ブラウザを起動して、ラジオボタンのあるページ(http://〜)を[Browser]に保存します。
Webページのリンクをクリックする

「Webページのリンクをクリックする」アクションを使用し、UI要素を取得します。
UI要素は、それぞれの項目ごとに任意の選択肢を1つ取得すれば問題ありません。

例)
- 性別→男性
- 予定日→今日
- 場所→東京
UI要素のセレクターを変更する
カスタムフォームで選択した値を、対象のラジオボタンを選択できるようにUI要素のセレクターを変更します。
本記事では、取得したUI要素の属性(Span)を書き換えて対象を特定しています。
WebサイトのHTML構造によって取得できる属性や設定方法、動作可否は異なります。

「Webページのリンクをクリック」をダブルクリックしてダイアログボックを表示します。
鉛筆マーク(編集)をクリックします。

UI要素のセレクターの画面で、テキストエディターを[ON]にします。

span[Text=”男性”]の部分を、カスタムフォームで取得した性別のID[=Chose set input]を設定します。
性別:span[Text-“%CustomFormDate[‘Choice set input‘]%”]
同様に、予定日と場所についても設定します。
予定日:span[Text-“%CustomFormDate[‘Choice set input2‘]%”]
場所:span[Text-“%CustomFormDate[‘Choice set input3‘]%”]
UI要素の名前を変更
フロー内のUI要素名が始めにクリックしたものになっているので、UI要素ペインをから名前を変更し分かりやすくします。

- 右のUI要素ペインを選択
- 変更したいUI要素を選択し右クリック
- [名前の変更]をクリックし修正
以上で完成です。
ここまでできたら実行で試してみましょう。
応用編|実行前に確認メッセージを表示する

誤操作を防ぐために、カスタムフォーム入力後に確認画面を表示する方法もおすすめです。

「メッセージを表示」アクションを追加し、メッセージの内容を作成します。

「If」アクションを追加し、「キャンセル」をクリックした場合は、If内のアクションを実行する設定を行います。


Ifアクション内に「フローを停止する」を入れます。
これでOKを選択した場合は実行、もしキャンセルを選択した場合はフローが停止します。
これにより、実行前に選択した内容を確認し、処理を進めることができます。
【補足】UI要素の取得が1つでいいのはなぜ?
『UI要素に“男性”だけ取得しているのになぜ「女性」や「その他」を選択できるのか?』と、私も始めは不思議に思っていました。
これができるのは、ラジオボタンがHTML構造によってグループ化されているためのようです。
例えば、「性別」と「場所」にそれぞれ「その他」という選択肢があった場合でも、HTML上では別グループとして管理されています。
ID = gender
・span → 男性
・span → 女性
・span → その他
ID = place
・span → 日本
・span → その他
そのため、PADはサイト上の「その他」という文字を探しているのではなく、取得したUI要素の構造をもとに対象を特定できるようになっています。
HTML構造上、PADがうまくい動作しないケースもあります。
まとめ
今回は、Power Automate Desktopのカスタムフォームを使用して、選択した値をWebシステムのラジオボタンへ反映する方法を紹介しました。
カスタムフォームを活用することで、実行時に選択した内容に応じて処理を切り替えられ、より便利なフローになります。
多くの業務システムではUI要素を取得して操作できるケースが多いため、ぜひ実際のフロー作成に活用してみてください。


