Playwright Locator クラス API
Locator は Playwright のロケーターオブジェクトであり、チェーン絞り込み、操作、アサーションを提供します。
Locator 操作メソッド
| メソッド | 説明 |
locator.click(options?) | 要素をクリック |
locator.dblclick(options?) | 要素をダブルクリック |
locator.hover(options?) | マウスホバー |
locator.fill(value, options?) | クリアしてテキストを入力 |
locator.type(text, options?) | 1文字ずつ入力 |
locator.clear(options?) | 入力欄をクリア |
locator.check(options?) | チェックボックスをオン |
locator.uncheck(options?) | チェックを外す |
locator.setChecked(checked, options?) | チェックボックスの状態を設定 |
locator.selectOption(values, options?) | ドロップダウンのオプションを選択 |
locator.setInputFiles(files, options?) | ファイルアップロードを設定 |
locator.dragTo(target, options?) | ターゲット要素にドラッグ |
locator.press(key, options?) | キーを押す |
locator.screenshot(options?) | 要素のスクリーンショット |
locator.scrollIntoViewIfNeeded(options?) | 表示されるまでスクロール |
Locator チェーン絞り込み
| メソッド | 説明 |
locator.first() | 最初に一致する要素を取得 |
locator.last() | 最後に一致する要素を取得 |
locator.nth(index) | n 番目(0 始まり)を取得 |
locator.filter(options?) | 条件でフィルタリング(hasText、has、hasNot) |
locator.locator(selector) | 一致結果内でさらに検索 |
locator.getByRole(role, options?) | 一致結果内でロールで検索 |
locator.getByText(text) | 一致結果内でテキストで検索 |
locator.getByLabel(text) | 一致結果内でラベルで検索 |
locator.and(locator) | 論理 AND(1.63+) |
locator.or(locator) | 論理 OR(1.63+) |
Locator 情報取得
| メソッド | 説明 |
locator.textContent(options?) | テキスト内容を取得 |
locator.innerHTML(options?) | innerHTML を取得 |
locator.innerText(options?) | 表示テキストを取得 |
locator.inputValue(options?) | input 値を取得 |
locator.getAttribute(name) | 属性値を取得 |
locator.count() | 一致数を取得 |
locator.isVisible(options?) | 表示されているかどうか |
locator.isHidden(options?) | 非表示かどうか |
locator.isEnabled(options?) | 有効かどうか |
locator.isDisabled(options?) | 無効かどうか |
locator.isEditable(options?) | 編集可能かどうか |
locator.isChecked(options?) | チェック済みかどうか |
locator.boundingBox(options?) | 要素の位置とサイズを取得 |
Locator JS 実行
| メソッド | 説明 |
locator.evaluate(fn, arg?, options?) | 要素のコンテキストで JS を実行 |
locator.evaluateAll(fn, arg?) | 一致するすべての要素で JS を実行 |
locator.evaluateHandle(fn, arg?, options?) | JS を実行して JSHandle を返す |
LocatorAssertions(自動リトライ)
| アサーションメソッド | 説明 |
expect(locator).toBeAttached() | 要素が DOM 内にある |
expect(locator).toBeChecked() | チェック済み |
expect(locator).toBeDisabled() | 無効 |
expect(locator).toBeEditable() | 編集可能 |
expect(locator).toBeEmpty() | 内容が空 |
expect(locator).toBeEnabled() | 有効 |
expect(locator).toBeFocused() | フォーカスされている |
expect(locator).toBeHidden() | 要素が非表示 |
expect(locator).toBeInViewport() | 要素がビューポート内にある |
expect(locator).toBeVisible() | 要素が表示されている |
expect(locator).toContainText(text) | テキストを含む |
expect(locator).toHaveAccessibleDescription(desc) | アクセシブルな説明がある |
expect(locator).toHaveAccessibleName(name) | アクセシブルな名前がある |
expect(locator).toHaveAttribute(name, value?) | DOM 属性を持つ |
expect(locator).toHaveClass(className) | CSS クラス名を持つ |
expect(locator).toHaveCount(count) | 指定された数を持つ |
expect(locator).toHaveCSS(name, value) | CSS プロパティ値を持つ |
expect(locator).toHaveId(id) | ID を持つ |
expect(locator).toHaveText(text) | テキスト内容が一致 |
expect(locator).toHaveValue(value) | 入力値が一致 |
expect(locator).toHaveValues(values) | 複数値の一致(複数選択) |
expect(locator).toHaveScreenshot(options?) | 要素スクリーンショットの比較 |
FrameLocator クラス
| メソッド | 説明 |
frameLocator.getByRole(role, options?) | ロールでロケート |
frameLocator.getByText(text) | テキストでロケート |
frameLocator.getByLabel(text) | ラベルでロケート |
frameLocator.getByPlaceholder(text) | プレースホルダーでロケート |
frameLocator.getByTestId(id) | testId でロケート |
frameLocator.locator(selector) | CSS/XPath ロケート |
frameLocator.frameLocator(selector) | ネストされた iframe のロケート |
frameLocator.first() | 最初を取得 |
frameLocator.last() | 最後を取得 |
frameLocator.nth(index) | n 番目を取得 |
その他の拡張