> ## Documentation Index
> Fetch the complete documentation index at: https://docs.therefrain.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# セレクタ解決

> 多層的なセレクタ解決の仕組みを解説します。

## 概要

Refrain は**アクセシビリティファーストのターゲティング**で要素を特定します。セレクタは `role`、`ariaLabel`、`text` などのセマンティックな属性で定義されます。脆い CSS セレクタや XPath は使用しません。

アクセシビリティ属性は視覚的なレイアウトや DOM 構造が変わっても安定している傾向があるため、UI 変更に強い解決方式です。

## 多層的な解決

ステップが要素を見つける必要があるとき、Refrain は複数の解決戦略を順番に適用します。あるレイヤーが失敗すると、次のレイヤーが自動的に引き継ぎます。

### 決定論的マッチング

最初のレイヤーは、AI を使わないパターンベースのマッチングです。セレクタの `role`、`ariaLabel`、`text` をページのアクセシビリティツリーと照合し、完全一致または部分一致を探します。

高速（ミリ秒未満）、無料（AI トークンゼロ）で、大部分のケースを処理します。

### AI 支援の解決

決定論的マッチングで確度の高い一致が見つからない場合、AI がページのスナップショットと期待されるセレクタを分析して正しい要素を特定します。ラベルが少し変わった場合やページ構造がずれた場合に対応します。

### 自動リトライ

解決が失敗した場合、エグゼキュータは DOM の安定化を待って複数回リトライします。リトライの間にページスナップショットが変化したかを確認し、ページがまだ読み込み中やトランジション中であれば、新しい試行が成功する可能性があります。

### 高度な回復

標準のリトライがすべて尽きると、高度な回復メカニズムが作動します。

* **スクロール回復** — 要素が画面外にある可能性があります。エグゼキュータがスクロールし、新しいスナップショットで再試行します。
* **Agent Fallback** — AI がページ全体を分析し、折りたたまれたセクションの展開やオーバーレイの解除など、代替パスを探索します。
* **Vision Fallback** — スクリーンショットベースのアプローチで、視覚認識を使って要素を特定します。canvas、Shadow DOM、iframe、カスタム Web Components など、アクセシビリティツリーに現れない要素に有効です。

<Note>
  Agent Fallback は全プランで利用可能です。セレクタキャッシュと Vision Fallback には [Pro 以上](/ja/concepts/plan-tiers)が必要です。自動修復モードには [Team 以上](/ja/concepts/plan-tiers)が必要です。
</Note>

## フォールバック機能

### Agent Fallback

標準の解決が完全に失敗した場合、Agent Fallback がページ全体を俯瞰的に分析します。AI がページ全体を評価し、複数の回復戦略から最適なものを選択します。

* 意味的に同等な代替要素を試行
* 折りたたまれたセクションやメニューを展開して隠れた要素を表示
* ターゲットをブロックしているモーダルやオーバーレイを閉じる
* キーボードナビゲーションで要素に到達

### Vision Fallback

`<canvas>`、Shadow DOM、iframe 内部など、アクセシビリティツリーに現れない要素には、Vision Fallback がアノテーション付きスクリーンショットを撮影し、視覚 AI を使ってターゲット要素を特定します。

## 次のステップ

<CardGroup cols={2}>
  <Card title="エラー分類" icon="triangle-exclamation" href="/ja/concepts/error-classification">
    失敗がどのようにカテゴリ分類されるか。
  </Card>

  <Card title="自動修復モード" icon="wrench" href="/ja/guides/self-heal">
    AI で壊れた手順書を診断・修正。
  </Card>
</CardGroup>
