Power Automate Desktopのブラウザ自動化でドロップダウンリストを選択するとき、名前(ラベル)かインデクスで指定できますが、HTMLが以下のような形だと値で選択することができません。
<select id="dropdown">
<option value="value1">label 1</option>
<option value="value2">label 2</option>
</select>
選択肢が固定ならば名前でよいですが、
自動化していますから、おそらく入力データをエクセルから取り出したりするとおもいます。
その際、値しか取得できない場合に困ってしまいます。
DBからcsvで取り出していて、コードしかないというのは結構多いパターンではないでしょうか?
一つの方法として、JSを使用して設定できます。
function ExecuteScript() {
document.getElementById('dropdown').value = "value1";
}
これでうまくいかない場合として、onchangeイベントが設定されている場合があります。
上のコードで値を変更したときには onchange イベントが発火しません。
そのため、このドロップダウンで選択したものに応じて、入力フォームが変わる場合、その後の入力ができなくなってしまいます。
そういうときは以下のようなコードでラベルを取り出して、変数にラベルを保存してから、
あらためて名前で設定することでonchangeイベントも発生させることができます。
function ExecuteScript() {
const el = document.getElementById('dropdown');
return Array.prototype.find.call(el.options, x => x.value == "value1").label;
}
スクリプト内でも変数をつかうことができます。"%{variable}" のように値を渡すとよいでしょう。