★質問・概要
Q.JobAutoのアプリ操作で要素マッチングを使うと、「要素が見つからない」というエラーが発生します。高度な設定の「タイプ」に「//」を使って指定する方法を教えてください。
★回答
要素マッチングで対象を安定して認識できない場合は、アクションの高度な設定にある「タイプ」の指定を見直します。この記事では、元のタイプ指定を//MenuItemのような指定へ変更する例を紹介します。
指定を変更すると複数の要素が見つかることがあります。その場合は「要素インデックス」を調整し、最後に「操作対象にフォーカス」で目的の操作箇所を正しく認識しているか確認してください。
「//」を使った指定は、すべてのアプリや要素で必ず有効とは限りません。対象の要素が見つかるか、意図した場所を操作できるかを実行環境で確認してください。
1.要素マッチングで「ファイル」を操作する例
アプリ操作の要素マッチングで、操作対象が見つからないエラーが繰り返し発生する場合の設定例です。以下のアプリ画面の「ファイル」をクリックするアクションを想定しています。
2.マッチング方式を「要素」にする
アプリデザインでマッチング方式に「要素」を選択し、操作したい箇所を指定します。下の画像は元記事で使用しているマッチング方式の画面です。
3.高度な設定で「タイプ」を調整する
3-1.タイプの指定に「//」を使う
アクションの高度な設定で「タイプ」を確認し、下の画像のように指定を変更します。
変更前の例は /Window[1]/Pane[1]/ToolBar[1]/MenuItem[1] です。変更後の例では //MenuItem を設定しています。途中の階層を含む長い指定から、操作したい要素の種類に着目した指定へ変更する例です。
「タイプ」はアプリの要素を特定する設定項目です。この例の //MenuItem はJobAutoのアプリ要素マッチングでの設定例であり、ブラウザ操作のXPath設定方法について説明したものではありません。
3-2.複数の要素が見つかる場合は要素インデックスを変更する
タイプに「//」を使った指定をすると、同じ条件に一致する要素が複数見つかる場合があります。この場合は、「要素インデックス」を変更して操作する要素を指定します。
要素インデックスは0から始まります。1番目の要素が「0」、2番目の要素が「1」です。指定した順番の要素が目的の操作箇所であるか、必ず確認してください。
3-3.「操作対象にフォーカス」で目的の要素か確認する
要素が見つかったら、「操作対象にフォーカス」をクリックします。操作したい「ファイル」メニューにフォーカスが当たることを確認してください。
要素が見つかったという結果だけで判断せず、実際に操作したい箇所が選ばれているか確認することが大切です。別の箇所へフォーカスが当たる場合は、要素インデックスや名前などの設定を見直します。
4.設定変更後の確認順序
- タイプの設定を
//MenuItemのように変更します。 - 設定した条件で操作対象の要素が見つかるか確認します。
- 複数の要素が見つかる場合は、要素インデックスを調整します。
- 「操作対象にフォーカス」で、目的の操作箇所を認識しているか確認します。
- 実際にアクションをテストし、意図した要素が操作されるか確認します。
5.タイプだけでは要素を絞り込めない場合
タイプだけでは操作対象を1つに絞り込めない場合は、「名前」などほかの要素特定条件も確認します。名前が処理のたびに変化する場合は、JobAutoの要素マッチングを安定させる方法|名前に正規表現を使うも参考にしてください。
また、タイプの一部が変化する場合などは、JobAutoの要素マッチングでタイプに正規表現を使う方法を確認してください。「//」を使う方法と、タイプの一部を正規表現で指定する方法は別の設定例です。
そもそもアプリデザインで操作したい箇所を選択できない場合は、JobAutoでアプリの操作箇所を選択できない場合の対処方法を確認してください。接続先一覧の更新やアプリデザインの画面再読み込みなどを説明しています。
アプリ画面の表示が変化したあとに要素が見つからない場合は、アクションの「キャッシュクリア」や「要素が見つかるまでのタイムアウト」の設定も確認してください。詳しい設定項目は正式マニュアルをご覧ください。
関連するマニュアル・FAQ
- JobAutoのアプリデザインの使い方:マッチング方式の選択と「操作対象にフォーカス」の操作方法
- JobAutoでアプリの要素から値を取得する方法:高度な設定の「タイプ」「名前」「要素インデックス」などの説明
- JobAutoの要素マッチングを安定させる方法|名前に正規表現を使う:名前による要素の指定
- JobAutoでアプリの操作箇所を選択できない場合の対処方法:操作したい箇所を表示できない場合の確認事項
- JobAutoの要素マッチングでタイプに正規表現を使う方法:タイプの一部を正規表現で指定する方法
