shikumika’s diary

日々の事務作業で手間なことを簡単にできる仕組み(自動化、方法など)、困ったことの解決方法を調べた備忘録

【Power Automate】特定の文字列を含むUI要素を指定する方法

Power Automate Desktopのセレクタービルダーで"contains"を使用し、特定の文字列を含むUI要素を指定する方法です。

自動で設定されるUI要素の指定方法では安定した動作ができない場面で、「テキストエディター」に変更し、"contains"セレクターを使用した指定事例です。

内容:

事例の前提

Webサービス(kintone)の入力フォームで、「複数選択フィールド」の選択肢(UI要素)を指定する事例です。

この事例では、UI要素ピッカーで自動設定されるUI要素をセレクタービルダーで確認すると、”東京店”の選択肢がdiv[Id=“:82”]として指定されています。詳細は、【Power Automate】Webページのチェックボックスの設定(kintoneの事例)に記載のとおり。

このままIdでの指定が良い場面もあるが、今回はcontainsを使用して選択肢の文字列(例:”東京店”)で要素を指定します

”東京店”の選択肢が、div[Id=“:82”]として指定されている

自動で設定されるUI要素の指定例

設定手順

1.Microsoft Edgeの「開発者ツールで調査する」のクリック

下図のようにWebページの当該箇所を右クリックで「開発者ツールで調査する」を選択する。

Webページの当該箇所(複数選択フィールド)を右クリックして表示

Microsoft Edgeの「開発者ツールで調査する」の表示

2.DevToolsでUI要素を確認する

当該箇所の要素が次のように表示されるので、汎用的な指定方法を検討する。

この事例では、class=“goog-menuitem goog-option”のdiv要素の一つ下位に選択肢の文字列を含むdiv要素があった。

class=“goog-menuitem goog-option”のdiv要素の下位に“埼玉店”を含むdiv要素がある

DevToolsの表示例

3.セレクタービルダーで「テキストエディター」の状態にして指定

上記の要素で、”埼玉店”を含む「class=“goog-menuitem goog-option”のdiv要素」を指定する方法は次のとおり。

  1. Power Automate Desktopの編集画面から当該UI要素を表示する。
    (セレクタービルダーの表示)
  2. セレクタービルダーの画面右上の「テキストエディター」を有効にする
  3. "contains"セレクターを使用して、次のように記載する。
    div[Class='goog-menuitem goog-option'] > div:contains('埼玉店')

div[Class='goog-menuitem goog-option'] > div:contains('埼玉店')と入力

"contains"セレクターの記入例

以上で、複数選択フィールドの”埼玉店”という特定の文字列を含む選択肢(UI要素)を指定できる。

補足説明

  • セレクターでは、> 表記を使用して選択した要素の階層構造を示します。

    learn.microsoft.com

  • 上図の"contains"セレクターの記入例では、Power Automate DesktopのUI要素の名称が自動設定された「Div ’東京店’」という名称のままのため、わかりやすいように名前を変更した方が良いです。

    shikumika.org

以上、Power Automate Desktopのセレクタービルダーで"contains"を使用し、特定の文字列を含むUI要素を指定する方法でした。