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.
概要
セレクタは、どの DOM 要素を操作するかを指定します。複数のフィールドをフォールバック戦略として使用し、優先順位に従って順番にマッチを試みます。セレクタフィールド
| フィールド | 型 | 優先順位 | 説明 |
|---|---|---|---|
id | string | 1 | 要素の id 属性(最も信頼性が高い) |
ariaLabel | string | 2 | aria-label 属性 |
dataTestId | string | 3 | data-testid 属性 |
dataAttributes | Record<string, string> | 4 | その他の data-* 属性 |
cssSelector | string | 5 | CSS セレクタ |
xPath | string | 6 | XPath 式 |
labelText | string | 7 | 関連する <label> のテキスト |
innerText | string | 8 | 要素の innerText(最大200文字) |
placeholder | string | 9 | placeholder 属性 |
name | string | 10 | name 属性 |
rect | object | 11 | 位置ベースのフォールバック(最終手段) |
tagName | string | — | HTML タグ名(常に存在、フィルタリングに使用) |
role | string | — | ARIA role 属性 |
inputType | string | — | <input> 要素の type 属性 |
解決パイプライン
セレクタは6段階のパイプラインで解決されます:例
- まず
#submit-btnを試行 - id が見つからない場合
[aria-label="Submit form"]にフォールバック - aria-label が失敗した場合
innerTextのマッチにフォールバック roleとtagNameは全体を通じて追加フィルタとして使用
rect(位置フォールバック)
最終手段の決定論的戦略です。座標はビューポート相対です。
| フィールド | 型 | 説明 |
|---|---|---|
x | number | X 座標 |
y | number | Y 座標 |
width | number | 要素の幅 |
height | number | 要素の高さ |
位置ベースのセレクタはレイアウト変更で壊れやすいです。可能な限りセマンティックセレクタ(
id、ariaLabel、dataTestId)を使用してください。dataAttributes
カスタム data-* 属性で要素をマッチ:
<div data-row-id="42" data-status="active"> にマッチします。
ベストプラクティス
- 安定した識別子を優先 —
id、dataTestId、ariaLabelは CSS セレクタや XPath よりも UI の再設計に強い。 rectは避ける — 位置セレクタはレイアウト変更で壊れる。セマンティックセレクタがない場合のみ使用。innerTextは短く — 長いテキストマッチは壊れやすい。フィールドは200文字に制限。- セレクタキャッシュを有効化 — 繰り返し実行する場合、
--enable-selector-cacheで成功した解決結果を永続化。