Question
ブラウザでURLとタイトルが同じページを複数タブで開いて操作します。
『ブラウザーを使用』アクティビティの中で対象タブはどのように設定しますか?
Answer
解決策
セレクタのidx属性を使うことで複数タブを区別することができます。
例えば以下のように2つのタブは同じURL(https://www.google.com)・同じタイトル(Google)ですが、1つ目のタブには「Google Search」ボタンが、2つ目のタブには「Google 検索」ボタンがあります。
『ブラウザーを使用』アクティビティの中に『強調表示』アクティビティを配置して、2つ目のタブの「Google 検索」ボタンを指定した時、『強調表示』アクティビティのプロパティ > ターゲット > ウィンドウセレクターは以下のようになります。
<html app='chrome.exe' title='Google' />
この状態でワークフローを実行すると、1つ目のタブの中に「Google 検索」ボタンを探して存在しないため、「このアクションのユーザー インターフェイス (UI) 要素が見つかりませんでした」エラーが発生します。
ウィンドウセレクターの右側アイコン「式エディターで開く」をクリックし、セレクター編集画面で末尾に idx=‘<タブの順序>’ のように記載してタブを指定します。たとえば1つ目のタブを指定する場合は idx=‘1’、2つ目のタブを指定する場合は idx=‘2’ と指定します。
<html app='chrome.exe' title='Google' idx='2' />
タブの順番がその時々に応じて変化する場合は、idxにワイルドカードを設定することで、全てのタブ内からUI要素を探すようにも設定できます。
<html app='chrome.exe' title='Google' idx='*' />
ターゲットの選択オプションからも、ウィンドウセレクターを編集できます。