【UiPath特集】Case 1:「要素が見つかりません」エラーの完全攻略~ロボットが迷子になる理由と治し方~

こんにちは!UiPath メンターです。

「順調に動いていたロボットが、今日いきなり真っ赤なエラーを出して止まった!」
「昨日と同じ画面なのに、なぜかボタンを押してくれない!」

UiPathを使っていると、必ずこの壁にぶつかります。
エラーメッセージにはこう書かれているはずです。

UiPath.Core.ElementOperationException: 要素が見つかりませんでした…

初心者のうちは「壊れた!」と焦るかもしれませんが、これは「ロボットがボタンを見つけられなくて困っている」だけです。
モダンデザイン機能を使えば、このエラーは簡単に直せます。その手順(処方箋)を見ていきましょう。

診察1:まずは「ターゲットを編集」画面を開く

エラーが出ているアクティビティ(クリックや文字入力など)をクリックし、オプションメニュー(三本線やハンバーガーアイコン)から [ターゲットを編集 (Edit Target)] を選びます。

すると、大きな編集画面が開きます。
ここで「検証 (Validate)」ボタン(チェックマーク)を押してみてください。

  • 緑色になる: 今は見つかっています(たまたま遅かっただけかも?)。
  • 赤色になる: 完全に迷子です。設定を直す必要があります。

処方箋A:アンカーを追加・変更する

モダンデザインにおいて、最も効果的な治療法は「アンカー(目印)」の見直しです。

編集画面で、現在設定されているアンカー(青い枠)を見てください。
もしアンカーが設定されていない、またはアンカー自体が不安定な場所(毎回変わる日付や広告など)になっていませんか?

治療手順

  1. 編集画面で [アンカーを追加] ボタンを押すか、画面上の安定していそうな文字(「氏名」や「ログイン」などのラベル)をクリックします。
  2. アンカーとターゲットが線で結ばれます。
  3. [確認] を押して保存します。

これだけで、ロボットの認識率は劇的に向上します。

処方箋B:セレクターの厳しさを調整する

編集画面の右下に、[セレクターオプション] というチェックボックスが並んでいるエリアがあります。

  • 厳密なセレクター (Strict Selector): IDや名前が完全に一致しないとダメ。一番正確ですが、Webサイトの更新に弱いです。
  • 曖昧なセレクター (Fuzzy Selector): 「だいたい合っていればOK」という柔軟な設定。モダンデザインの強みです。
  • 画像 (Image): 見た目の画像で探します。最後の手段です。

治療手順

もし「厳密なセレクター」だけで探そうとしてエラーになっているなら、「曖昧なセレクター」にチェックを入れ、「厳密」を外してみてください。
「検証」ボタンを押して緑色になれば、その設定でOKです。

💡 メンターからのアドバイス:精度レベルの調整

「曖昧なセレクター」の横にあるスライダー(0.5 ~ 1.0)を動かすと、「どれくらい似ていればOKか」を調整できます。
通常はデフォルトのままでいいですが、誤クリックが多い場合は数字を上げ、見つからない場合は少し下げてみましょう。

処方箋C:待機時間を延ばす

「設定は合っているのに、たまにエラーになる」
「朝一番だけエラーになる」

これは、PCやネット回線が重くて、画面が表示される前にロボットが諦めてしまっているパターン(タイムアウト)です。
デフォルトでは30秒待ってくれますが、重いシステムだと足りないことがあります。

治療手順

  1. Studioに戻り、エラーになるアクティビティのプロパティパネルを開きます。
  2. [ターゲット] > [実行前の待機時間 (Timeout)] という項目を探します。
  3. ここに秒数を入力します(例:60秒待ちたいなら 60 と入力)。
    ※古いバージョンではミリ秒(60000)の場合もあるので、単位を確認してください。

まとめ:エラーは「対話」のチャンス

「要素が見つかりません」というエラーは、ロボットからの「ご主人様、目印が変わってて分かりません!もっと良い目印を教えて!」というメッセージです。

  • まずは [ターゲットを編集] 画面を開く。
  • アンカーを増やすのが特効薬。
  • 曖昧なセレクターを活用して柔軟性を持たせる。
  • それでもダメなら待機時間(タイムアウト)を疑う。

⚠️ 注意:動的なIDに気をつけろ!

Webサイトによっては、ボタンのIDが button_123button_456 のように毎回変わるものがあります。
ターゲット編集画面で、IDの部分にチェックが入っていたら、それを外して(無視させて)、代わりにテキストや位置情報で探すように設定すると安定します。

次回は、Case 2「変数の型エラー(StringとかInt32って何?)」を解説します。
「計算しようとしたら怒られた」「文字をつなげようとしたらエラーになった」という悩みを解決しましょう!

タイトルとURLをコピーしました