初心者でも失敗しない!Power Automate DesktopでWebページのUI要素を正確に指定する方法

Power Automate Desktop(PAD)でWebページの自動操作をしようとすると、最初にぶつかる壁が「UI要素の指定がうまくいかない」ことです。赤枠が表示されない、クリックしても反応しない、複数ある似たようなリンクの中で間違ったものを選んでしまうなど、初心者がつまずきやすいポイントです。
この記事では、Webページからデータを取得したり、自動クリックを行う際に安定して正確なUI要素を指定するためのコツや注意点を、開発者モードの使い方を含めてわかりやすく解説します。
UI要素がうまく選択できない原因と対処法
原因 | 詳細 | 対処方法 |
---|---|---|
① JavaScriptで後から生成される | DOMの構築が遅延するため、PADが検出する前に要素が表示されていない | Webページの読み込み完了を待機 → さらに 数秒の待機 を追加してみる(例:待機2秒) |
② フレーム(iframe)内の要素である | Live Webヘルパーは親フレームしか認識できないことがある | F12(開発者モード)→ 該当要素が <iframe> 内なら、そのURLを直接開く対応が必要 |
③ Live Web ヘルパーがうまく動作していない | 拡張が一時的にクラッシュ、通信断など | PAD本体・ブラウザ・Live Web ヘルパーをすべて再起動(Edge/Chromeの拡張管理→オフ→オンも試す) |
④ SPA(シングルページアプリ)でURL変化がない | ページ遷移してもDOM構造は変化し、リセットされない | 手動で UI要素の追加 → セレクター手入力に切り替え |
⑤ ページ内スクロールが必要 | 要素が画面外にあってLive Webヘルパーが認識できていない | Webページをスクロール アクションを入れて、表示位置に要素を出す |
上の表はあくまでも一例であり、目的の要素をうまく選択できないケースは多く、つまずきやすいポイントです。
LiveWebヘルパーで選択できたとしても繰り返し動作で安定しないこともあるので、開発者モードで要素の構造や属性を確認して手動で設定する方法をおすすめします。
🔧 開発者モードでUI要素や属性を確認する方法
▶ 開発者ツールの起動
- ページの上で右クリック→「検証」
- または F12 キー / Ctrl+Shift+I / Cmd+Option+I
▶ 要素をハイライトしてHTML構造を確認
- 上部の「矢印マーク」ツールをクリック
- 対象のボタン/リンクにマウスを合わせる
- 対応するHTML要素が「Elements」タブで表示
▶ 信頼できる属性を探す
属性 | 意味・役割 | 特長 |
---|---|---|
id | HTML内で一意の識別子。JavaScriptやCSSで特定要素を明確に参照するために使用されます。 | ページ内で1回しか使えないため、最も信頼性の高いセレクター。 |
class | 複数要素に共通するスタイルや機能を適用するためのカテゴリ名。 | 一つの要素に複数のclassが使え、共通構造の指定に便利。 |
data-testid , data-* | HTML5のカスタム属性。特にテストやUI自動化の目印として活用されます。 | 表示には影響せず、動的ページでも比較的安定して利用できる。 |
aria-label | 視覚的に表示されない要素にラベルを与え、支援技術向けに情報を補完します。 | テキストがないボタン(アイコン等)でも意味を持たせられる。 |
これらはあくまでも一例なので、開発者ツールで要素の全体を俯瞰視し、信頼できそうなセレクタと属性値を見抜く感覚を掴んでください。
なぜ data-*
や aria-label
の方が安定しているのか?
属性 | 開発者による意図 | 変動リスク | 備考 |
---|---|---|---|
id | ユニーク識別子(動的に割り当てられることがある) | 高い | JavaScriptフレームワークで自動生成されることが多い(例:id="item_1234abc" ) |
class | デザイン・機能付与(共通化目的) | 中〜高 | 同じ構造の繰り返しで付与されたり、CSSクラス名が難読化されることも |
data-* | 意図的に操作対象や識別のために追加される | 低い | 自動生成ではなく人間が指定していることが多いため安定 |
aria-label | アクセシビリティ対応目的 | 低い | 一貫性が求められるため滅多に変更されない |
補足:あくまで“相対的に”安定
ただし重要な点として、「絶対に変化しない」わけではありません。
data-*
も aria-label
も、開発者が変更すれば当然変わります。
ですが、実務上は次のような背景から id
やclass
よりは変化頻度が低いという経験則があります:
data-testid
やdata-name
などは「UI自動化・テスト用途向け」に安定性を意識して設計されているaria-label
はアクセシビリティ(スクリーンリーダー)対応のため、表現の意図が変わらない限り変えにくい
Power Automate DesktopでUI要素を手動で設定する手順
Live Webヘルパーで要素を選択できない場合でも、PADでは「UI要素を手動で追加・編集」することができます。
ステップ1:適当なUI要素を仮登録する
- ブラウザ画面上の何らかのクリック可能な要素を、Live Webヘルパーで一度「仮に登録」しておきます。
- 正しくない要素でもかまいません。目的は「UI要素編集」画面を開くことです。
ステップ2:UI要素を編集画面で開く
- PADのUI要素一覧(画面下部の「UI要素」タブ)で、先ほど登録した要素を右クリックし、「UI要素を編集」を選択します。
ステップ3:セレクターをカスタマイズ
- 編集画面で「詳細設定」を開きます。
- 「抽出条件」セクションで、以下のような項目を入力できます:
- タグ名(例:
a
,div
,button
) - 属性(例:
data-testid
,aria-label
) - 演算子(例:
等しい
,含まれる
など) - 値(実際の値を開発者モードで確認して入力)
- タグ名(例:
ステップ4:要素が1つだけ特定できるか確認
- 編集後、「確認」ボタンをクリックしてそのセレクターで要素が1件に絞れているかを確認します。
- ページ上で該当要素に赤枠が表示されれば成功です。
よくある注意点
id
やclass
は動的に変化する場合があるため、信頼できるdata-*
やaria-label
の使用が望ましい- セレクターの条件があいまいだと、複数の要素が一致してしまうため、動作が不安定になります
- 必ず1件の要素にだけ一致するように条件を絞り込むことがポイントです
このように、PADではLive Webヘルパーでうまくいかない場合でも「UI要素の手動指定」という強力な回避策があります。手動指定のスキルを身につけることで、より安定したフローの構築が可能になります。
動的に変わる属性に注意
‼ 例:「昨日は動いたのに、今日は動かない」は要注意
id="item_9283ab"
→ 次はid="item_781df"
class="css-xxxx-abc"
のようなランダム文字列
▶ 動的属性を見抜くコツ
チェックポイント | 内容 |
複数回リロードして属性を確認 | 変化があるなら使わない |
data-* や aria-label に注目 | 変化しにくく信頼性が高い |
「クラス名の一部だけ」を指定 | class は全部一致しなくてもOK |
まとめ:PADは「HTML構造が分かると動く」
- 読み込み完了を待つ
- UI要素をLive Webヘルパーで読めない時は開発者ツール
- Textがなければ属性を確認
data-testid
aria-label
class
などで精実に指定
PADは「セレクター指定の問題で動かない」ことが多く、UI要素の指定は確実にしないと安定したフローになりません。
誤作動の回避には、最初の要素の分析と正確な指定が重要です。