メインコンテンツへスキップ

Locator

Locator は、Playwright の自動ウェイトとリトライ機能の中心となる要素です。一言で言えば、Locator は、ページ上の要素をいつでも見つけるための手段を表します。Locator は、Page.Locator() メソッドで作成できます。

Locatorの詳細はこちら.


メソッド

AllAsync

v1.29で追加 locator.AllAsync

Locatorが要素のリストを指している場合、これはそれらの各要素を指すLocatorの配列を返します。

注記

Locator.AllAsync() は、Locatorに一致する要素を待機せず、ページに存在するものをすぐに返します。

要素のリストが動的に変化する場合、Locator.AllAsync() は、予測不可能で不安定な結果を生み出します。

要素のリストが安定しているものの、動的にロードされる場合は、Locator.AllAsync() を呼び出す前に、リスト全体がロードを完了するまで待機してください。

使用例

foreach (var li in await page.GetByRole("listitem").AllAsync())
await li.ClickAsync();

戻り値


AllInnerTextsAsync

v1.14で追加 locator.AllInnerTextsAsync

一致するすべてのノードの node.innerText 値の配列を返します。

テキストのアサート

ページ上のテキストをアサートする必要がある場合は、不安定さを避けるために、Expect(Locator).ToHaveTextAsync()UseInnerText オプション付きで使用することを推奨します。詳細は アサーションガイド を参照してください。

使用例

var texts = await page.GetByRole(AriaRole.Link).AllInnerTextsAsync();

戻り値


AllTextContentsAsync

v1.14で追加 locator.AllTextContentsAsync

一致するすべてのノードの node.textContent 値の配列を返します。

テキストのアサート

ページ上のテキストをアサートする必要がある場合は、不安定さを避けるために、Expect(Locator).ToHaveTextAsync() を使用することを推奨します。詳細は アサーションガイド を参照してください。

使用例

var texts = await page.GetByRole(AriaRole.Link).AllTextContentsAsync();

戻り値


And

v1.34で追加 locator.And

このLocatorと引数Locatorの両方に一致するLocatorを作成します。

使用例

次の例は、特定のタイトルを持つボタンを見つけます。

var button = page.GetByRole(AriaRole.Button).And(page.GetByTitle("Subscribe"));

引数

  • locator Locator#

    一致させる追加のLocator。

戻り値


AriaSnapshotAsync

v1.49で追加 locator.AriaSnapshotAsync

指定された要素のARIAスナップショットを取得します。ARIAスナップショットと、対応するアサーションである Expect(Locator).ToMatchAriaSnapshotAsync() について詳しくはこちらをご覧ください。

使用例

await page.GetByRole(AriaRole.Link).AriaSnapshotAsync();

引数

  • options LocatorAriaSnapshotOptions? (任意)
    • Timeout [float]? (任意)#

      最大タイムアウト時間(ミリ秒単位)。デフォルトは 30000 (30秒) です。タイムアウトを無効にするには 0 を渡します。デフォルト値は BrowserContext.SetDefaultTimeout() または Page.SetDefaultTimeout() メソッドを使用して変更できます。

戻り値

詳細

このメソッドは、指定された要素のARIAスナップショットを取得します。スナップショットは、要素とその子要素の状態を表す文字列です。スナップショットは、テストで要素の状態をアサートしたり、将来の状態と比較したりするために使用できます。

ARIAスナップショットは、YAML マークアップ言語を使用して表現されます。

  • オブジェクトのキーは、要素のロールとオプションのアクセシブルな名前です。
  • 値は、テキストコンテンツまたは子要素の配列です。
  • 一般的な静的テキストは、text キーで表現できます。

以下は、HTMLマークアップとそれぞれのARIAスナップショットです。

<ul aria-label="Links">
<li><a href="/">Home</a></li>
<li><a href="/about">About</a></li>
<ul>
- list "Links":
- listitem:
- link "Home"
- listitem:
- link "About"

BlurAsync

v1.28で追加 locator.BlurAsync

要素に対して blur を呼び出します。

使用例

await Locator.BlurAsync(options);

引数

  • options LocatorBlurOptions? (任意)
    • Timeout [float]? (任意)#

      最大タイムアウト時間(ミリ秒単位)。デフォルトは 30000 (30秒) です。タイムアウトを無効にするには 0 を渡します。デフォルト値は BrowserContext.SetDefaultTimeout() または Page.SetDefaultTimeout() メソッドを使用して変更できます。

戻り値


BoundingBoxAsync

v1.14で追加 locator.BoundingBoxAsync

このメソッドは、Locatorに一致する要素のバウンディングボックスを返します。要素が表示されていない場合は null を返します。バウンディングボックスは、メインフレームのビューポート(通常はブラウザウィンドウと同じ)を基準に計算されます。

使用例

var box = await page.GetByRole(AriaRole.Button).BoundingBoxAsync();
await page.Mouse.ClickAsync(box.X + box.Width / 2, box.Y + box.Height / 2);

引数

  • options LocatorBoundingBoxOptions? (任意)
    • Timeout [float]? (任意)#

      最大タイムアウト時間(ミリ秒単位)。デフォルトは 30000 (30秒) です。タイムアウトを無効にするには 0 を渡します。デフォルト値は BrowserContext.SetDefaultTimeout() または Page.SetDefaultTimeout() メソッドを使用して変更できます。

戻り値

  • BoundingBox?#
    • x [float]

      要素のx座標(ピクセル単位)。

    • y [float]

      要素のy座標(ピクセル単位)。

    • width [float]

      要素の幅(ピクセル単位)。

    • height [float]

      要素の高さ(ピクセル単位)。

詳細

スクロールは、Element.getBoundingClientRect と同様に、返されるバウンディングボックスに影響を与えます。つまり、xy が負の値になる可能性があります。

子フレームの要素は、Element.getBoundingClientRect とは異なり、メインフレームを基準としたバウンディングボックスを返します。

ページが静的であると仮定すると、バウンディングボックスの座標を入力の実行に使用しても安全です。たとえば、次のスニペットは要素の中心をクリックします。


CheckAsync

v1.14で追加 locator.CheckAsync

チェックボックスまたはラジオ要素がチェックされていることを確認します。

使用例

await page.GetByRole(AriaRole.Checkbox).CheckAsync();

引数

  • options LocatorCheckOptions? (任意)
    • Force bool? (任意)#

      アクション可能性 チェックをバイパスするかどうか。デフォルトは false です。

    • NoWaitAfter bool? (任意)#

      非推奨

      このオプションは効果がありません。

      このオプションは効果がありません。

    • Position Position? (任意)#

      • X [float]

      • Y [float]

      要素のパディングボックスの左上隅を基準に使用するポイント。指定しない場合は、要素の可視点を使用します。

    • Timeout [float]? (任意)#

      最大タイムアウト時間(ミリ秒単位)。デフォルトは 30000 (30秒) です。タイムアウトを無効にするには 0 を渡します。デフォルト値は BrowserContext.SetDefaultTimeout() または Page.SetDefaultTimeout() メソッドを使用して変更できます。

    • Trial bool? (任意)#

      設定すると、このメソッドは アクション可能性 チェックのみを実行し、アクションをスキップします。デフォルトは false です。アクションを実行せずに、要素がアクションの準備ができるまで待機するのに役立ちます。

戻り値

詳細

次の手順を実行します。

  1. 要素がチェックボックスまたはラジオ入力であることを確認します。そうでない場合、このメソッドは例外をスローします。要素がすでにチェックされている場合、このメソッドはすぐに戻ります。
  2. アクション可能性 チェックを要素に対して待機します(Force オプションが設定されていない場合)。
  3. 必要に応じて、要素をビューにスクロールします。
  4. Page.Mouse を使用して、要素の中心をクリックします。
  5. 要素がチェックされたことを確認します。そうでない場合、このメソッドは例外をスローします。

アクション中に要素がDOMから切り離された場合、このメソッドは例外をスローします。

指定された Timeout の間にすべての手順が完了しなかった場合、このメソッドは TimeoutError をスローします。タイムアウトを無効にするには、ゼロタイムアウトを渡します。


ClearAsync

v1.28で追加 locator.ClearAsync

入力フィールドをクリアします。

使用例

await page.GetByRole(AriaRole.Textbox).ClearAsync();

引数

  • options LocatorClearOptions? (任意)
    • Force bool? (任意)#

      アクション可能性 チェックをバイパスするかどうか。デフォルトは false です。

    • NoWaitAfter bool? (任意)#

      非推奨

      このオプションは効果がありません。

      このオプションは効果がありません。

    • Timeout [float]? (任意)#

      最大タイムアウト時間(ミリ秒単位)。デフォルトは 30000 (30秒) です。タイムアウトを無効にするには 0 を渡します。デフォルト値は BrowserContext.SetDefaultTimeout() または Page.SetDefaultTimeout() メソッドを使用して変更できます。

戻り値

詳細

このメソッドは、アクション可能性 チェックを待機し、要素にフォーカスを当て、クリアしてから、クリア後に input イベントをトリガーします。

ターゲット要素が <input><textarea>、または [contenteditable] 要素でない場合、このメソッドはエラーをスローします。ただし、要素が関連付けられた control を持つ <label> 要素内にある場合、代わりにコントロールがクリアされます。


ClickAsync

v1.14で追加 locator.ClickAsync

要素をクリックします。

使用例

ボタンをクリックする

await page.GetByRole(AriaRole.Button).ClickAsync();

キャンバス上の特定の位置をShift+右クリックする

await page.Locator("canvas").ClickAsync(new() {
Button = MouseButton.Right,
Modifiers = new[] { KeyboardModifier.Shift },
Position = new Position { X = 0, Y = 0 }
});

引数

  • options LocatorClickOptions? (任意)
    • Button enum MouseButton { Left, Right, Middle }? (任意)#

      デフォルトは left です。

    • ClickCount int? (任意)#

      デフォルトは 1 です。UIEvent.detail を参照してください。

    • Delay [float]? (任意)#

      mousedownmouseup の間の待機時間(ミリ秒単位)。デフォルトは 0 です。

    • Force bool? (任意)#

      アクション可能性 チェックをバイパスするかどうか。デフォルトは false です。

    • Modifiers IEnumerable?<enum KeyboardModifier { Alt, Control, ControlOrMeta, Meta, Shift }> (任意)#

      押すモディファイキー。操作中はこれらのモディファイキーのみが押されていることを保証し、現在のモディファイキーを元に戻します。指定しない場合、現在押されているモディファイキーが使用されます。"ControlOrMeta" は、WindowsとLinuxでは "Control" に、macOSでは "Meta" に解決されます。

    • NoWaitAfter bool? (任意)#

      非推奨

      このオプションは、将来的にデフォルトで true になります。

      ナビゲーションを開始するアクションは、これらのナビゲーションが発生し、ページのロードが開始されるのを待機します。このフラグを設定することで、待機をオプトアウトできます。このオプションが必要になるのは、アクセスできないページにナビゲートする場合などの例外的なケースのみです。デフォルトは false です。

    • Position Position? (任意)#

      • X [float]

      • Y [float]

      要素のパディングボックスの左上隅を基準に使用するポイント。指定しない場合は、要素の可視点を使用します。

    • Timeout [float]? (任意)#

      最大タイムアウト時間(ミリ秒単位)。デフォルトは 30000 (30秒) です。タイムアウトを無効にするには 0 を渡します。デフォルト値は BrowserContext.SetDefaultTimeout() または Page.SetDefaultTimeout() メソッドを使用して変更できます。

    • Trial bool? (任意)#

      設定すると、このメソッドは アクション可能性 チェックのみを実行し、アクションをスキップします。デフォルトは false です。アクションを実行せずに、要素がアクションの準備ができるまで待機するのに役立ちます。キーボード modifiers は、trial に関係なく押され、これらのキーが押されたときにのみ表示される要素のテストを可能にすることに注意してください。

戻り値

詳細

このメソッドは、次の手順を実行して要素をクリックします。

  1. アクション可能性 チェックを要素に対して待機します(Force オプションが設定されていない場合)。
  2. 必要に応じて、要素をビューにスクロールします。
  3. Page.Mouse を使用して、要素の中心、または指定された Position をクリックします。
  4. 開始されたナビゲーションが成功または失敗するのを待機します(NoWaitAfter オプションが設定されていない場合)。

アクション中に要素がDOMから切り離された場合、このメソッドは例外をスローします。

指定された Timeout の間にすべての手順が完了しなかった場合、このメソッドは TimeoutError をスローします。タイムアウトを無効にするには、ゼロタイムアウトを渡します。


ContentFrame

v1.43で追加 locator.ContentFrame

このLocatorと同じ iframe を指す FrameLocator オブジェクトを返します。

どこかで取得した Locator オブジェクトがあり、後でフレーム内のコンテンツを操作したい場合に役立ちます。

逆の操作には、FrameLocator.Owner を使用します。

使用例

var locator = Page.Locator("iframe[name=\"embedded\"]");
// ...
var frameLocator = locator.ContentFrame;
await frameLocator.GetByRole(AriaRole.Button).ClickAsync();

戻り値


CountAsync

v1.14で追加 locator.CountAsync

Locatorに一致する要素の数を返します。

カウントのアサート

ページ上の要素数をアサートする必要がある場合は、不安定さを避けるために、Expect(Locator).ToHaveCountAsync() を推奨します。詳細は アサーションガイド を参照してください。

使用例

int count = await page.GetByRole(AriaRole.Listitem).CountAsync();

戻り値


DblClickAsync

v1.14で追加 locator.DblClickAsync

要素をダブルクリックします。

使用例

await Locator.DblClickAsync(options);

引数

  • options LocatorDblClickOptions? (任意)
    • Button enum MouseButton { Left, Right, Middle }? (任意)#

      デフォルトは left です。

    • Delay [float]? (任意)#

      mousedownmouseup の間の待機時間(ミリ秒単位)。デフォルトは 0 です。

    • Force bool? (任意)#

      アクション可能性 チェックをバイパスするかどうか。デフォルトは false です。

    • Modifiers IEnumerable?<enum KeyboardModifier { Alt, Control, ControlOrMeta, Meta, Shift }> (任意)#

      押すモディファイキー。操作中はこれらのモディファイキーのみが押されていることを保証し、現在のモディファイキーを元に戻します。指定しない場合、現在押されているモディファイキーが使用されます。"ControlOrMeta" は、WindowsとLinuxでは "Control" に、macOSでは "Meta" に解決されます。

    • NoWaitAfter bool? (任意)#

      非推奨

      このオプションは効果がありません。

      このオプションは効果がありません。

    • Position Position? (任意)#

      • X [float]

      • Y [float]

      要素のパディングボックスの左上隅を基準に使用するポイント。指定しない場合は、要素の可視点を使用します。

    • Timeout [float]? (任意)#

      最大タイムアウト時間(ミリ秒単位)。デフォルトは 30000 (30秒) です。タイムアウトを無効にするには 0 を渡します。デフォルト値は BrowserContext.SetDefaultTimeout() または Page.SetDefaultTimeout() メソッドを使用して変更できます。

    • Trial bool? (任意)#

      設定すると、このメソッドは アクション可能性 チェックのみを実行し、アクションをスキップします。デフォルトは false です。アクションを実行せずに、要素がアクションの準備ができるまで待機するのに役立ちます。キーボード modifiers は、trial に関係なく押され、これらのキーが押されたときにのみ表示される要素のテストを可能にすることに注意してください。

戻り値

詳細

このメソッドは、次の手順を実行して要素をダブルクリックします。

  1. アクション可能性 チェックを要素に対して待機します(Force オプションが設定されていない場合)。
  2. 必要に応じて、要素をビューにスクロールします。
  3. Page.Mouse を使用して、要素の中心、または指定された Position をダブルクリックします。

アクション中に要素がDOMから切り離された場合、このメソッドは例外をスローします。

指定された Timeout の間にすべての手順が完了しなかった場合、このメソッドは TimeoutError をスローします。タイムアウトを無効にするには、ゼロタイムアウトを渡します。

注記

element.dblclick() は、2つの click イベントと1つの dblclick イベントをディスパッチします。


DispatchEventAsync

v1.14で追加 locator.DispatchEventAsync

一致する要素に対してプログラムでイベントをディスパッチします。

使用例

await locator.DispatchEventAsync("click");

引数

  • type string#

    DOMイベントタイプ: "click", "dragstart" など。

  • eventInit EvaluationArgument? (任意)#

    オプションのイベント固有の初期化プロパティ。

  • options LocatorDispatchEventOptions? (任意)

    • Timeout [float]? (任意)#

      最大タイムアウト時間(ミリ秒単位)。デフォルトは 30000 (30秒) です。タイムアウトを無効にするには 0 を渡します。デフォルト値は BrowserContext.SetDefaultTimeout() または Page.SetDefaultTimeout() メソッドを使用して変更できます。

戻り値

詳細

上記のスニペットは、要素に対して click イベントをディスパッチします。要素の可視状態に関係なく、click がディスパッチされます。これは、element.click() を呼び出すのと同じです。

内部的には、指定された type に基づいてイベントのインスタンスを作成し、eventInit プロパティで初期化し、要素にディスパッチします。イベントは、デフォルトで composedcancelable、およびバブルです。

eventInit はイベント固有であるため、初期プロパティのリストについては、イベントのドキュメントを参照してください。

ライブオブジェクトをイベントに渡したい場合は、JSHandle をプロパティ値として指定することもできます。

var dataTransfer = await page.EvaluateHandleAsync("() => new DataTransfer()");
await locator.DispatchEventAsync("dragstart", new Dictionary<string, object>
{
{ "dataTransfer", dataTransfer }
});

DragToAsync

v1.18で追加 locator.DragToAsync

ソース要素をターゲット要素に向かってドラッグし、ドロップします。

使用例

var source = Page.Locator("#source");
var target = Page.Locator("#target");

await source.DragToAsync(target);
// or specify exact positions relative to the top-left corners of the elements:
await source.DragToAsync(target, new()
{
SourcePosition = new() { X = 34, Y = 7 },
TargetPosition = new() { X = 10, Y = 20 },
});

引数

  • target Locator#

    ドラッグ先の要素のLocator。

  • options LocatorDragToOptions? (任意)

    • Force bool? (任意)#

      アクション可能性 チェックをバイパスするかどうか。デフォルトは false です。

    • NoWaitAfter bool? (任意)#

      非推奨

      このオプションは効果がありません。

      このオプションは効果がありません。

    • SourcePosition SourcePosition? (任意)#

      • X [float]

      • Y [float]

      要素のパディングボックスの左上隅を基準としたこのポイントでソース要素をクリックします。指定しない場合は、要素の可視点を使用します。

    • TargetPosition TargetPosition? (任意)#

      • X [float]

      • Y [float]

      要素のパディングボックスの左上隅を基準としたこのポイントでターゲット要素にドロップします。指定しない場合は、要素の可視点を使用します。

    • Timeout [float]? (任意)#

      最大タイムアウト時間(ミリ秒単位)。デフォルトは 30000 (30秒) です。タイムアウトを無効にするには 0 を渡します。デフォルト値は BrowserContext.SetDefaultTimeout() または Page.SetDefaultTimeout() メソッドを使用して変更できます。

    • Trial bool? (任意)#

      設定すると、このメソッドは アクション可能性 チェックのみを実行し、アクションをスキップします。デフォルトは false です。アクションを実行せずに、要素がアクションの準備ができるまで待機するのに役立ちます。

戻り値

詳細

このメソッドは、Locatorを別のターゲットLocatorまたはターゲット位置にドラッグします。最初にソース要素に移動し、mousedown を実行してから、ターゲット要素または位置に移動して mouseup を実行します。


EvaluateAsync

v1.14で追加 locator.EvaluateAsync

一致する要素を引数として受け取り、ページ内でJavaScriptコードを実行します。

使用例

引数

  • expression string#

    ブラウザコンテキストで評価されるJavaScript式。式が関数として評価される場合、関数は自動的に呼び出されます。

  • arg EvaluationArgument? (任意)#

    expression に渡すオプションの引数。

  • options LocatorEvaluateOptions? (任意)

    • Timeout [float]? (任意)#

      最大タイムアウト時間(ミリ秒単位)。デフォルトは 30000 (30秒) です。タイムアウトを無効にするには 0 を渡します。デフォルト値は BrowserContext.SetDefaultTimeout() または Page.SetDefaultTimeout() メソッドを使用して変更できます。

戻り値

  • [object]#

詳細

expression の戻り値を返します。これは、一致する要素を最初の引数として、arg を2番目の引数として呼び出されます。

expressionPromise を返す場合、このメソッドは Promise が解決されるのを待ってその値を返します。

もし expression が例外を投げるか、リジェクトした場合、このメソッドは例外を投げます。


EvaluateAllAsync

v1.14で追加 locator.EvaluateAllAsync

ページ内で JavaScript コードを実行し、一致するすべての要素を引数として取ります。

使用例

var locator = page.Locator("div");
var moreThanTen = await locator.EvaluateAllAsync<bool>("(divs, min) => divs.length > min", 10);

引数

  • expression string#

    ブラウザコンテキストで評価されるJavaScript式。式が関数として評価される場合、関数は自動的に呼び出されます。

  • arg EvaluationArgument? (オプション)#

    expression に渡すオプションの引数。

戻り値

  • [object]#

詳細

一致するすべての要素の配列を最初の引数として、arg を2番目の引数として呼び出された expression の戻り値を返します。

expressionPromise を返す場合、このメソッドは Promise が解決されるのを待ってその値を返します。

もし expression が例外を投げるか、リジェクトした場合、このメソッドは例外を投げます。


EvaluateHandleAsync

v1.14で追加 locator.EvaluateHandleAsync

ページ内で JavaScript コードを実行し、一致する要素を引数として取り、結果とともに JSHandle を返します。

使用例

await Locator.EvaluateHandleAsync(expression, arg, options);

引数

  • expression string#

    ブラウザコンテキストで評価されるJavaScript式。式が関数として評価される場合、関数は自動的に呼び出されます。

  • arg EvaluationArgument? (オプション)#

    expression に渡すオプションの引数。

  • options LocatorEvaluateHandleOptions? (オプション)

    • Timeout [float]? (オプション)#

      最大タイムアウト時間(ミリ秒単位)。デフォルトは 30000 (30秒) です。タイムアウトを無効にするには 0 を渡します。デフォルト値は BrowserContext.SetDefaultTimeout() または Page.SetDefaultTimeout() メソッドを使用して変更できます。

戻り値

詳細

一致する要素を最初の引数として、arg を2番目の引数として呼び出された expression の戻り値を JSHandle として返します。

Locator.EvaluateAsync()Locator.EvaluateHandleAsync() の唯一の違いは、Locator.EvaluateHandleAsync()JSHandle を返すことです。

expressionPromise を返す場合、このメソッドは Promise が解決されるのを待ってその値を返します。

もし expression が例外を投げるか、リジェクトした場合、このメソッドは例外を投げます。

詳細については、Page.EvaluateHandleAsync() を参照してください。


FillAsync

v1.14で追加 locator.FillAsync

入力フィールドに値を設定します。

使用例

await page.GetByRole(AriaRole.Textbox).FillAsync("example value");

引数

  • value string#

    <input><textarea>、または [contenteditable] 要素に設定する値。

  • options LocatorFillOptions? (オプション)

    • Force bool? (オプション)#

      アクション可能性 チェックをバイパスするかどうか。デフォルトは false です。

    • NoWaitAfter bool? (オプション)#

      非推奨

      このオプションは効果がありません。

      このオプションは効果がありません。

    • Timeout [float]? (オプション)#

      最大タイムアウト時間(ミリ秒単位)。デフォルトは 30000 (30秒) です。タイムアウトを無効にするには 0 を渡します。デフォルト値は BrowserContext.SetDefaultTimeout() または Page.SetDefaultTimeout() メソッドを使用して変更できます。

戻り値

詳細

このメソッドは、操作可能性チェックを待ち、要素にフォーカスし、入力し、入力後に input イベントをトリガーします。入力フィールドをクリアするために空の文字列を渡すことができることに注意してください。

ターゲット要素が <input><textarea>、または [contenteditable] 要素でない場合、このメソッドはエラーをスローします。ただし、要素が関連する コントロール を持つ <label> 要素内にある場合、代わりにコントロールが入力されます。

きめ細かいキーボードイベントを送信するには、Locator.PressSequentiallyAsync() を使用してください。


Filter

追加: v1.22 locator.Filter

このメソッドは、オプションに従って既存のロケーターを絞り込みます。たとえば、テキストでフィルタリングします。複数回フィルタリングするためにチェーンできます。

使用例

var rowLocator = page.Locator("tr");
// ...
await rowLocator
.Filter(new() { HasText = "text in column 1" })
.Filter(new() {
Has = page.GetByRole(AriaRole.Button, new() { Name = "column 2 button" } )
})
.ScreenshotAsync();

引数

  • options LocatorFilterOptions? (オプション)
    • Has Locator? (オプション)#

      この相対ロケーターに一致する要素を含むものに、メソッドの結果を絞り込みます。たとえば、text=Playwright を持つ article は、<article><div>Playwright</div></article> に一致します。

      内部ロケーターは、外部ロケーターに対して相対的である必要があり、ドキュメントルートではなく、外部ロケーターの一致からクエリが開始されます。たとえば、<article><content><div>Playwright</div></content></article> 内の div を持つ content を見つけることができます。ただし、article div を持つ content を探すことは失敗します。内部ロケーターは相対的でなければならず、content の外部の要素を使用すべきではないためです。

      外部ロケーターと内部ロケーターは同じフレームに属している必要があることに注意してください。内部ロケーターは FrameLocator を含んではなりません。

    • HasNot Locator? (オプション)追加: v1.33#

      内部ロケーターに一致する要素を含まない要素に一致します。内部ロケーターは外部ロケーターに対してクエリされます。たとえば、div を持たない article は、<article><span>Playwright</span></article> に一致します。

      外部ロケーターと内部ロケーターは同じフレームに属している必要があることに注意してください。内部ロケーターは FrameLocator を含んではなりません。

    • HasNotText|HasNotTextRegex string? | Regex? (オプション)追加: v1.33#

      指定されたテキストを内部のどこか(子要素または子孫要素内にある可能性あり)に含まない要素に一致します。string が渡されると、大文字と小文字を区別せずに照合され、部分文字列を検索します。

    • HasText|HasTextRegex string? | Regex? (オプション)#

      指定されたテキストを内部のどこか(子要素または子孫要素内にある可能性あり)に含む要素に一致します。string が渡されると、大文字と小文字を区別せずに照合され、部分文字列を検索します。たとえば、"Playwright"<article><div>Playwright</div></article> に一致します。

    • Visible bool? (オプション)追加: v1.51#

      可視または不可視の要素のみを一致させます。

戻り値


First

v1.14で追加 locator.First

最初の一致要素へのロケーターを返します。

使用例

Locator.First

戻り値


FocusAsync

v1.14で追加 locator.FocusAsync

一致する要素で focus を呼び出します。

使用例

await Locator.FocusAsync(options);

引数

  • options LocatorFocusOptions? (オプション)
    • Timeout [float]? (オプション)#

      最大タイムアウト時間(ミリ秒単位)。デフォルトは 30000 (30秒) です。タイムアウトを無効にするには 0 を渡します。デフォルト値は BrowserContext.SetDefaultTimeout() または Page.SetDefaultTimeout() メソッドを使用して変更できます。

戻り値


FrameLocator

追加: v1.17 locator.FrameLocator

iframe を操作する場合、iframe に入り、その iframe 内の要素を特定できるフレームロケーターを作成できます。

使用例

var locator = page.FrameLocator("iframe").GetByText("Submit");
await locator.ClickAsync();

引数

  • selector string#

    DOM 要素を解決するときに使用するセレクター。

戻り値


GetAttributeAsync

v1.14で追加 locator.GetAttributeAsync

一致する要素の属性値を返します。

属性のアサーション

要素の属性をアサートする必要がある場合は、不安定さを避けるために Expect(Locator).ToHaveAttributeAsync() を優先してください。詳細については、アサーションガイド を参照してください。

使用例

await Locator.GetAttributeAsync(name, options);

引数

  • name string#

    値を取得する属性名。

  • options LocatorGetAttributeOptions? (オプション)

    • Timeout [float]? (オプション)#

      最大タイムアウト時間(ミリ秒単位)。デフォルトは 30000 (30秒) です。タイムアウトを無効にするには 0 を渡します。デフォルト値は BrowserContext.SetDefaultTimeout() または Page.SetDefaultTimeout() メソッドを使用して変更できます。

戻り値


GetByAltText

追加: v1.27 locator.GetByAltText

alt テキストで要素を特定できます。

使用例

たとえば、このメソッドは alt テキスト "Playwright logo" で画像を検索します。

<img alt='Playwright logo'>
await page.GetByAltText("Playwright logo").ClickAsync();

引数

  • text string | Regex#

    要素を特定するためのテキスト。

  • options LocatorGetByAltTextOptions? (オプション)

    • Exact bool? (オプション)#

      完全一致を検索するかどうか: 大文字と小文字を区別し、文字列全体を比較します。デフォルトは false です。正規表現で検索する場合は無視されます。完全一致でも空白文字はトリミングされることに注意してください。

戻り値


GetByLabel

追加: v1.27 locator.GetByLabel

関連付けられた <label> または aria-labelledby 要素のテキスト、または aria-label 属性によって入力要素を特定できます。

使用例

たとえば、このメソッドは次の DOM でラベル "Username" および "Password" で入力を検索します。

<input aria-label="Username">
<label for="password-input">Password:</label>
<input id="password-input">
await page.GetByLabel("Username").FillAsync("john");
await page.GetByLabel("Password").FillAsync("secret");

引数

  • text string | Regex#

    要素を特定するためのテキスト。

  • options LocatorGetByLabelOptions? (オプション)

    • Exact bool? (オプション)#

      完全一致を検索するかどうか: 大文字と小文字を区別し、文字列全体を比較します。デフォルトは false です。正規表現で検索する場合は無視されます。完全一致でも空白文字はトリミングされることに注意してください。

戻り値


GetByPlaceholder

追加: v1.27 locator.GetByPlaceholder

プレースホルダーテキストで入力要素を特定できます。

使用例

たとえば、次の DOM 構造を考えてみましょう。

<input type="email" placeholder="name@example.com" />

プレースホルダーテキストで特定した後、入力を入力できます。

await page
.GetByPlaceholder("name@example.com")
.FillAsync("playwright@microsoft.com");

引数

  • text string | Regex#

    要素を特定するためのテキスト。

  • options LocatorGetByPlaceholderOptions? (オプション)

    • Exact bool? (オプション)#

      完全一致を検索するかどうか: 大文字と小文字を区別し、文字列全体を比較します。デフォルトは false です。正規表現で検索する場合は無視されます。完全一致でも空白文字はトリミングされることに注意してください。

戻り値


GetByRole

追加: v1.27 locator.GetByRole

ARIA roleARIA 属性、および アクセシブルネーム で要素を特定できます。

使用例

次の DOM 構造を考えてみましょう。

<h3>Sign up</h3>
<label>
<input type="checkbox" /> Subscribe
</label>
<br/>
<button>Submit</button>

各要素を暗黙的なロールで特定できます。

await Expect(Page
.GetByRole(AriaRole.Heading, new() { Name = "Sign up" }))
.ToBeVisibleAsync();

await page
.GetByRole(AriaRole.Checkbox, new() { Name = "Subscribe" })
.CheckAsync();

await page
.GetByRole(AriaRole.Button, new() {
NameRegex = new Regex("submit", RegexOptions.IgnoreCase)
})
.ClickAsync();

引数

  • role enum AriaRole { Alert, Alertdialog, Application, Article, Banner, Blockquote, Button, Caption, Cell, Checkbox, Code, Columnheader, Combobox, Complementary, Contentinfo, Definition, Deletion, Dialog, Directory, Document, Emphasis, Feed, Figure, Form, Generic, Grid, Gridcell, Group, Heading, Img, Insertion, Link, List, Listbox, Listitem, Log, Main, Marquee, Math, Meter, Menu, Menubar, Menuitem, Menuitemcheckbox, Menuitemradio, Navigation, None, Note, Option, Paragraph, Presentation, Progressbar, Radio, Radiogroup, Region, Row, Rowgroup, Rowheader, Scrollbar, Search, Searchbox, Separator, Slider, Spinbutton, Status, Strong, Subscript, Superscript, Switch, Tab, Table, Tablist, Tabpanel, Term, Textbox, Time, Timer, Toolbar, Tooltip, Tree, Treegrid, Treeitem }#

    必須の aria ロール。

  • options LocatorGetByRoleOptions? (オプション)

    • Checked bool? (オプション)#

      通常、aria-checked またはネイティブ <input type=checkbox> コントロールによって設定される属性。

      aria-checked の詳細をご覧ください。

    • Disabled bool? (オプション)#

      通常、aria-disabled または disabled によって設定される属性。

      注記

      他のほとんどの属性とは異なり、disabled は DOM 階層全体で継承されます。aria-disabled の詳細をご覧ください。

    • Exact bool? (オプション)v1.28で追加#

      Name|NameRegex が完全に一致するかどうか: 大文字と小文字を区別し、文字列全体を比較します。デフォルトは false です。Name|NameRegex が正規表現の場合は無視されます。完全一致でも空白文字はトリミングされることに注意してください。

    • Expanded bool? (オプション)#

      通常、aria-expanded によって設定される属性。

      aria-expanded の詳細をご覧ください。

    • IncludeHidden bool? (オプション)#

      非表示要素を一致させるかどうかを制御するオプション。デフォルトでは、ARIA によって定義されている非表示でない要素のみがロールセレクターによって一致されます。

      aria-hidden の詳細をご覧ください。

    • Level int? (オプション)#

      通常、ロール headinglistitemrowtreeitem に存在する数値属性で、<h1>-<h6> 要素のデフォルト値が設定されています。

      aria-level の詳細をご覧ください。

    • Name|NameRegex string? | Regex? (オプション)#

      アクセシブルネーム に一致させるためのオプション。デフォルトでは、大文字と小文字を区別せずに照合され、部分文字列を検索します。この動作を制御するには、Exact を使用してください。

      アクセシブルネーム の詳細をご覧ください。

    • Pressed bool? (オプション)#

      通常、aria-pressed によって設定される属性。

      aria-pressed の詳細をご覧ください。

    • Selected bool? (オプション)#

      通常、aria-selected によって設定される属性。

      aria-selected の詳細をご覧ください。

戻り値

詳細

ロールセレクターは、アクセシビリティ監査および適合性テストを置き換えるものではありませんが、ARIA ガイドラインに関する早期フィードバックを提供します。

多くの html 要素には、ロールセレクターによって認識される暗黙的に 定義されたロール があります。すべてのサポートされているロールはこちらで確認できます。ARIA ガイドラインは、デフォルト値に rolearia-* 属性を設定して、暗黙的なロールと属性を複製することを推奨していません


GetByTestId

追加: v1.27 locator.GetByTestId

テスト ID で要素を特定します。

使用例

次の DOM 構造を考えてみましょう。

<button data-testid="directions">Itinéraire</button>

テスト ID で要素を特定できます。

await page.GetByTestId("directions").ClickAsync();

引数

  • testId string | Regex#

    要素を特定するための ID。

戻り値

詳細

デフォルトでは、data-testid 属性がテスト ID として使用されます。必要に応じて別のテスト ID 属性を構成するには、Selectors.SetTestIdAttribute() を使用してください。


GetByText

追加: v1.27 locator.GetByText

指定されたテキストを含む要素を特定できます。

アクセシブルロールなどの別の基準で一致させ、テキストコンテンツでフィルタリングできる Locator.Filter() も参照してください。

使用例

次の DOM 構造を考えてみましょう

<div>Hello <span>world</span></div>
<div>Hello</div>

テキスト部分文字列、完全一致文字列、または正規表現で特定できます。

// Matches <span>
page.GetByText("world");

// Matches first <div>
page.GetByText("Hello world");

// Matches second <div>
page.GetByText("Hello", new() { Exact = true });

// Matches both <div>s
page.GetByText(new Regex("Hello"));

// Matches second <div>
page.GetByText(new Regex("^hello$", RegexOptions.IgnoreCase));

引数

  • text string | Regex#

    要素を特定するためのテキスト。

  • options LocatorGetByTextOptions? (オプション)

    • Exact bool? (オプション)#

      完全一致を検索するかどうか: 大文字と小文字を区別し、文字列全体を比較します。デフォルトは false です。正規表現で検索する場合は無視されます。完全一致でも空白文字はトリミングされることに注意してください。

戻り値

詳細

テキストによるマッチングは、完全一致であっても常に空白文字を正規化します。たとえば、複数のスペースを1つにし、改行をスペースに変換し、先頭と末尾の空白文字を無視します。

button および submit タイプの入力要素は、テキストコンテンツの代わりに value によって一致します。たとえば、テキスト "Log in" で特定すると、<input type=button value="Log in"> に一致します。


GetByTitle

追加: v1.27 locator.GetByTitle

title 属性で要素を特定できます。

使用例

次の DOM 構造を考えてみましょう。

<span title='Issues count'>25 issues</span>

タイトルテキストで特定した後、問題の数をチェックできます。

await Expect(Page.GetByTitle("Issues count")).toHaveText("25 issues");

引数

  • text string | Regex#

    要素を特定するためのテキスト。

  • options LocatorGetByTitleOptions? (オプション)

    • Exact bool? (オプション)#

      完全一致を検索するかどうか: 大文字と小文字を区別し、文字列全体を比較します。デフォルトは false です。正規表現で検索する場合は無視されます。完全一致でも空白文字はトリミングされることに注意してください。

戻り値


HighlightAsync

追加: v1.20 locator.HighlightAsync

画面上で対応する要素をハイライト表示します。デバッグに役立ちます。Locator.HighlightAsync() を使用するコードはコミットしないでください。

使用例

await Locator.HighlightAsync();

戻り値


HoverAsync

v1.14で追加 locator.HoverAsync

一致する要素にホバーします。

使用例

await page.GetByRole(AriaRole.Link).HoverAsync();

引数

  • options LocatorHoverOptions? (オプション)
    • Force bool? (オプション)#

      アクション可能性 チェックをバイパスするかどうか。デフォルトは false です。

    • Modifiers IEnumerable?<enum KeyboardModifier { Alt, Control, ControlOrMeta, Meta, Shift }> (オプション)#

      押すモディファイキー。操作中はこれらのモディファイキーのみが押されていることを保証し、現在のモディファイキーを元に戻します。指定しない場合、現在押されているモディファイキーが使用されます。"ControlOrMeta" は、WindowsとLinuxでは "Control" に、macOSでは "Meta" に解決されます。

    • NoWaitAfter bool? (任意)v1.28で追加#

      非推奨

      このオプションは効果がありません。

      このオプションは効果がありません。

    • Position Position? (任意)#

      • X [float]

      • Y [float]

      要素のパディングボックスの左上隅を基準に使用するポイント。指定しない場合は、要素の可視点を使用します。

    • Timeout [float]? (任意)#

      最大タイムアウト時間(ミリ秒単位)。デフォルトは 30000 (30秒) です。タイムアウトを無効にするには 0 を渡します。デフォルト値は BrowserContext.SetDefaultTimeout() または Page.SetDefaultTimeout() メソッドを使用して変更できます。

    • Trial bool? (任意)#

      設定すると、このメソッドは アクション可能性 チェックのみを実行し、アクションをスキップします。デフォルトは false です。アクションを実行せずに、要素がアクションの準備ができるまで待機するのに役立ちます。キーボード modifiers は、trial に関係なく押され、これらのキーが押されたときにのみ表示される要素のテストを可能にすることに注意してください。

戻り値

詳細

このメソッドは、次の手順を実行して要素上にホバーします。

  1. 操作可能性チェックが要素に対して実行されるのを待ちます。ただし、Forceオプションが設定されている場合は除きます。
  2. 必要に応じて、要素をビューにスクロールします。
  3. Page.Mouse を使用して、要素の中心、または指定された Position 上にホバーします。

アクション中に要素がDOMから切り離された場合、このメソッドは例外をスローします。

指定された Timeout 時間内にすべての手順が完了しなかった場合、このメソッドは TimeoutError をスローします。タイムアウトをゼロにすると、この機能は無効になります。


InnerHTMLAsync

v1.14で追加 locator.InnerHTMLAsync

element.innerHTML を返します。

使用例

await Locator.InnerHTMLAsync(options);

引数

  • options LocatorInnerHTMLOptions? (任意)
    • Timeout [float]? (任意)#

      最大タイムアウト時間(ミリ秒単位)。デフォルトは 30000 (30秒) です。タイムアウトを無効にするには 0 を渡します。デフォルト値は BrowserContext.SetDefaultTimeout() または Page.SetDefaultTimeout() メソッドを使用して変更できます。

戻り値


InnerTextAsync

v1.14で追加 locator.InnerTextAsync

element.innerText を返します。

テキストのアサート

ページ上のテキストをアサートする必要がある場合は、不安定さを避けるために、Expect(Locator).ToHaveTextAsync()UseInnerText オプション付きで使用することを推奨します。詳細は アサーションガイド を参照してください。

使用例

await Locator.InnerTextAsync(options);

引数

  • options LocatorInnerTextOptions? (任意)
    • Timeout [float]? (任意)#

      最大タイムアウト時間(ミリ秒単位)。デフォルトは 30000 (30秒) です。タイムアウトを無効にするには 0 を渡します。デフォルト値は BrowserContext.SetDefaultTimeout() または Page.SetDefaultTimeout() メソッドを使用して変更できます。

戻り値


InputValueAsync

v1.14で追加 locator.InputValueAsync

一致する <input><textarea>、または <select> 要素の値を返します。

値のアサーション

入力値をアサートする必要がある場合は、不安定さを避けるために Expect(Locator).ToHaveValueAsync() を推奨します。詳細については、アサーションガイド を参照してください。

使用例

String value = await page.GetByRole(AriaRole.Textbox).InputValueAsync();

引数

  • options LocatorInputValueOptions? (任意)
    • Timeout [float]? (任意)#

      最大タイムアウト時間(ミリ秒単位)。デフォルトは 30000 (30秒) です。タイムアウトを無効にするには 0 を渡します。デフォルト値は BrowserContext.SetDefaultTimeout() または Page.SetDefaultTimeout() メソッドを使用して変更できます。

戻り値

詳細

入力、textarea、または select ではない要素をスローします。ただし、要素が関連付けられた control を持つ <label> 要素内にある場合、コントロールの値を返します。


IsCheckedAsync

v1.14で追加 locator.IsCheckedAsync

要素がチェックされているかどうかを返します。要素がチェックボックスまたはラジオ入力でない場合は例外をスローします。

チェック状態のアサーション

チェックボックスがチェックされていることをアサートする必要がある場合は、不安定さを避けるために Expect(Locator).ToBeCheckedAsync() を推奨します。詳細については、アサーションガイド を参照してください。

使用例

var isChecked = await page.GetByRole(AriaRole.Checkbox).IsCheckedAsync();

引数

  • options LocatorIsCheckedOptions? (任意)
    • Timeout [float]? (任意)#

      最大タイムアウト時間(ミリ秒単位)。デフォルトは 30000 (30秒) です。タイムアウトを無効にするには 0 を渡します。デフォルト値は BrowserContext.SetDefaultTimeout() または Page.SetDefaultTimeout() メソッドを使用して変更できます。

戻り値


IsDisabledAsync

v1.14で追加 locator.IsDisabledAsync

要素が無効になっているかどうかを返します。有効 の反対です。

無効状態のアサーション

要素が無効になっていることをアサートする必要がある場合は、不安定さを避けるために Expect(Locator).ToBeDisabledAsync() を推奨します。詳細については、アサーションガイド を参照してください。

使用例

Boolean disabled = await page.GetByRole(AriaRole.Button).IsDisabledAsync();

引数

  • options LocatorIsDisabledOptions? (任意)
    • Timeout [float]? (任意)#

      最大タイムアウト時間(ミリ秒単位)。デフォルトは 30000 (30秒) です。タイムアウトを無効にするには 0 を渡します。デフォルト値は BrowserContext.SetDefaultTimeout() または Page.SetDefaultTimeout() メソッドを使用して変更できます。

戻り値


IsEditableAsync

v1.14で追加 locator.IsEditableAsync

要素が 編集可能 かどうかを返します。ターゲット要素が <input><textarea><select>[contenteditable] でなく、[aria-readonly] を許可するロールを持っていない場合、このメソッドはエラーをスローします。

編集可能状態のアサーション

要素が編集可能であることをアサートする必要がある場合は、不安定さを避けるために Expect(Locator).ToBeEditableAsync() を推奨します。詳細については、アサーションガイド を参照してください。

使用例

Boolean editable = await page.GetByRole(AriaRole.Textbox).IsEditableAsync();

引数

  • options LocatorIsEditableOptions? (任意)
    • Timeout [float]? (任意)#

      最大タイムアウト時間(ミリ秒単位)。デフォルトは 30000 (30秒) です。タイムアウトを無効にするには 0 を渡します。デフォルト値は BrowserContext.SetDefaultTimeout() または Page.SetDefaultTimeout() メソッドを使用して変更できます。

戻り値


IsEnabledAsync

v1.14で追加 locator.IsEnabledAsync

要素が 有効 かどうかを返します。

有効状態のアサーション

要素が有効になっていることをアサートする必要がある場合は、不安定さを避けるために Expect(Locator).ToBeEnabledAsync() を推奨します。詳細については、アサーションガイド を参照してください。

使用例

Boolean enabled = await page.GetByRole(AriaRole.Button).IsEnabledAsync();

引数

  • options LocatorIsEnabledOptions? (任意)
    • Timeout [float]? (任意)#

      最大タイムアウト時間(ミリ秒単位)。デフォルトは 30000 (30秒) です。タイムアウトを無効にするには 0 を渡します。デフォルト値は BrowserContext.SetDefaultTimeout() または Page.SetDefaultTimeout() メソッドを使用して変更できます。

戻り値


IsHiddenAsync

v1.14で追加 locator.IsHiddenAsync

要素が非表示になっているかどうかを返します。可視 の反対です。

可視性のアサーション

要素が非表示になっていることをアサートする必要がある場合は、不安定さを避けるために Expect(Locator).ToBeHiddenAsync() を推奨します。詳細については、アサーションガイド を参照してください。

使用例

Boolean hidden = await page.GetByRole(AriaRole.Button).IsHiddenAsync();

引数

  • options LocatorIsHiddenOptions? (任意)
    • Timeout [float]? (任意)#

      非推奨

      このオプションは無視されます。Locator.IsHiddenAsync() は、要素が非表示になるのを待たずにすぐに返します。

戻り値


IsVisibleAsync

v1.14で追加 locator.IsVisibleAsync

要素が 可視 かどうかを返します。

可視性のアサーション

要素が可視であることをアサートする必要がある場合は、不安定さを避けるために Expect(Locator).ToBeVisibleAsync() を推奨します。詳細については、アサーションガイド を参照してください。

使用例

Boolean visible = await page.GetByRole(AriaRole.Button).IsVisibleAsync();

引数

  • options LocatorIsVisibleOptions? (任意)
    • Timeout [float]? (任意)#

      非推奨

      このオプションは無視されます。Locator.IsVisibleAsync() は、要素が可視になるのを待たずにすぐに返します。

戻り値


Last

v1.14で追加 locator.Last

最後に一致する要素へのロケーターを返します。

使用例

var banana = await page.GetByRole(AriaRole.Listitem).Last(1);

戻り値


Locator

v1.14で追加 locator.Locator

このメソッドは、ロケーターのサブツリー内で指定されたセレクターに一致する要素を見つけます。また、Locator.Filter() メソッドと同様のフィルターオプションも受け入れます。

Locatorの詳細はこちら.

使用例

Locator.Locator(selectorOrLocator, options);

引数

  • selectorOrLocator string | Locator#

    DOM 要素の解決時に使用するセレクターまたはロケーター。

  • options LocatorLocatorOptions? (任意)

    • Has Locator? (任意)#

      この相対ロケーターに一致する要素を含むものに、メソッドの結果を絞り込みます。たとえば、text=Playwright を持つ article は、<article><div>Playwright</div></article> に一致します。

      内部ロケーターは、外部ロケーターに対して相対的である必要があり、ドキュメントルートではなく、外部ロケーターの一致からクエリが開始されます。たとえば、<article><content><div>Playwright</div></content></article> 内の div を持つ content を見つけることができます。ただし、article div を持つ content を探すことは失敗します。内部ロケーターは相対的でなければならず、content の外部の要素を使用すべきではないためです。

      外部ロケーターと内部ロケーターは同じフレームに属している必要があることに注意してください。内部ロケーターは FrameLocator を含んではなりません。

    • HasNot Locator? (オプション)追加: v1.33#

      内部ロケーターに一致する要素を含まない要素に一致します。内部ロケーターは外部ロケーターに対してクエリされます。たとえば、div を持たない article は、<article><span>Playwright</span></article> に一致します。

      外部ロケーターと内部ロケーターは同じフレームに属している必要があることに注意してください。内部ロケーターは FrameLocator を含んではなりません。

    • HasNotText|HasNotTextRegex string? | Regex? (オプション)追加: v1.33#

      指定されたテキストを内部のどこか(子要素または子孫要素内にある可能性あり)に含まない要素に一致します。string が渡されると、大文字と小文字を区別せずに照合され、部分文字列を検索します。

    • HasText|HasTextRegex string? | Regex? (任意)#

      指定されたテキストを内部のどこか(子要素または子孫要素内にある可能性あり)に含む要素に一致します。string が渡されると、大文字と小文字を区別せずに照合され、部分文字列を検索します。たとえば、"Playwright"<article><div>Playwright</div></article> に一致します。

戻り値


Nth

v1.14で追加 locator.Nth

n 番目に一致する要素へのロケーターを返します。ゼロベースであり、nth(0) は最初の要素を選択します。

使用例

var banana = await page.GetByRole(AriaRole.Listitem).Nth(2);

引数

戻り値


Or

追加: v1.33 locator.Or

2 つのロケーターの一方または両方に一致するすべての要素に一致するロケーターを作成します。

両方のロケーターが何かに一致する場合、結果のロケーターは複数のマッチを持つ可能性があり、ロケーターストrictness 違反を引き起こす可能性があることに注意してください。

使用例

「新規メール」ボタンをクリックしたいが、代わりにセキュリティ設定ダイアログが表示される場合があるシナリオを考えてみましょう。この場合、「新規メール」ボタンまたはダイアログのいずれかを待機し、それに応じて対応できます。

注記

「新規メール」ボタンとセキュリティダイアログの両方が画面に表示される場合、「or」ロケーターは両方に一致し、「strict モード違反」エラー がスローされる可能性があります。この場合、Locator.First を使用して、それらのうちの 1 つだけを一致させることができます。

var newEmail = page.GetByRole(AriaRole.Button, new() { Name = "New" });
var dialog = page.GetByText("Confirm security settings");
await Expect(newEmail.Or(dialog).First).ToBeVisibleAsync();
if (await dialog.IsVisibleAsync())
await page.GetByRole(AriaRole.Button, new() { Name = "Dismiss" }).ClickAsync();
await newEmail.ClickAsync();

引数

  • locator Locator#

    一致させる代替ロケーター。

戻り値


Page

追加: v1.19 locator.Page

このロケーターが属するページ。

使用例

Locator.Page

戻り値


PressAsync

v1.14で追加 locator.PressAsync

一致する要素にフォーカスし、キーの組み合わせを押します。

使用例

await page.GetByRole(AriaRole.Textbox).PressAsync("Backspace");

引数

  • key string#

    押すキーの名前または生成する文字(ArrowLefta など)。

  • options LocatorPressOptions? (任意)

    • Delay [float]? (任意)#

      keydownkeyup の間の待ち時間(ミリ秒単位)。デフォルトは 0 です。

    • NoWaitAfter bool? (任意)#

      非推奨

      このオプションは、将来的にデフォルトで true になります。

      ナビゲーションを開始するアクションは、これらのナビゲーションが発生し、ページのロードが開始されるのを待機します。このフラグを設定することで、待機をオプトアウトできます。このオプションが必要になるのは、アクセスできないページにナビゲートする場合などの例外的なケースのみです。デフォルトは false です。

    • Timeout [float]? (任意)#

      最大タイムアウト時間(ミリ秒単位)。デフォルトは 30000 (30秒) です。タイムアウトを無効にするには 0 を渡します。デフォルト値は BrowserContext.SetDefaultTimeout() または Page.SetDefaultTimeout() メソッドを使用して変更できます。

戻り値

詳細

要素にフォーカスし、Keyboard.DownAsync() および Keyboard.UpAsync() を使用します。

key は、目的の keyboardEvent.key 値、またはテキストを生成するための単一の文字を指定できます。key 値のスーパーセットは、こちら にあります。キーの例を以下に示します。

F1 - F12Digit0- Digit9KeyA- KeyZBackquoteMinusEqualBackslashBackspaceTabDeleteEscapeArrowDownEndEnterHomeInsertPageDownPageUpArrowRightArrowUp など。

次の修飾子ショートカットもサポートされています: ShiftControlAltMetaShiftLeftControlOrMetaControlOrMeta は、Windows および Linux では Control に、macOS では Meta に解決されます。

Shift を押したままにすると、key に対応するテキストが大文字で入力されます。

key が単一の文字の場合、大文字と小文字が区別されるため、値 aA はそれぞれ異なるテキストを生成します。

key: "Control+o"key: "Control++、または key: "Control+Shift+T" などのショートカットもサポートされています。修飾子とともに指定すると、修飾子が押され、後続のキーが押されている間、保持されます。


PressSequentiallyAsync

追加: v1.38 locator.PressSequentiallyAsync
ヒント

ほとんどの場合、代わりに Locator.FillAsync() を使用する必要があります。ページに特別なキーボード処理がある場合にのみ、キーを 1 つずつ押す必要があります。

要素にフォーカスし、テキスト内の各文字に対して keydownkeypress/input、および keyup イベントを送信します。

ControlArrowDown などの特殊キーを押すには、Locator.PressAsync() を使用してください。

使用例

await locator.PressSequentiallyAsync("Hello"); // Types instantly
await locator.PressSequentiallyAsync("World", new() { Delay = 100 }); // Types slower, like a user

テキストフィールドに入力してフォームを送信する例

var locator = page.GetByLabel("Password");
await locator.PressSequentiallyAsync("my password");
await locator.PressAsync("Enter");

引数

  • text string#

    フォーカスされた要素に順番に押す文字の文字列。

  • options LocatorPressSequentiallyOptions? (任意)

    • Delay [float]? (任意)#

      キーを押す間の待ち時間(ミリ秒単位)。デフォルトは 0 です。

    • NoWaitAfter bool? (任意)#

      非推奨

      このオプションは効果がありません。

      このオプションは効果がありません。

    • Timeout [float]? (任意)#

      最大タイムアウト時間(ミリ秒単位)。デフォルトは 30000 (30秒) です。タイムアウトを無効にするには 0 を渡します。デフォルト値は BrowserContext.SetDefaultTimeout() または Page.SetDefaultTimeout() メソッドを使用して変更できます。

戻り値


ScreenshotAsync

v1.14で追加 locator.ScreenshotAsync

ロケーターに一致する要素のスクリーンショットを撮ります。

使用例

await page.GetByRole(AriaRole.Link).ScreenshotAsync();

アニメーションを無効にして、スクリーンショットをファイルに保存します

await page.GetByRole(AriaRole.Link).ScreenshotAsync(new() {
Animations = ScreenshotAnimations.Disabled,
Path = "link.png"
});

引数

  • options LocatorScreenshotOptions? (任意)
    • Animations enum ScreenshotAnimations { Disabled, Allow }? (任意)#

      "disabled" に設定すると、CSS アニメーション、CSS トランジション、および Web アニメーションを停止します。アニメーションは、その期間に応じて異なる扱いを受けます。

      • 有限のアニメーションは完了まで早送りされるため、transitionend イベントが発生します。
      • 無限のアニメーションは初期状態にキャンセルされ、スクリーンショット後に再度再生されます。

      デフォルトは、アニメーションをそのままにする "allow" です。

    • Caret enum ScreenshotCaret { Hide, Initial }? (任意)#

      "hide" に設定すると、スクリーンショットはテキストカーソルを非表示にします。"initial" に設定すると、テキストカーソルの動作は変更されません。デフォルトは "hide" です。

    • Mask IEnumerable?<Locator> (任意)#

      スクリーンショットを撮るときにマスクする必要があるロケーターを指定します。マスクされた要素は、ピンク色のボックス #FF00FF (MaskColor でカスタマイズ) でオーバーレイされ、そのバウンディングボックスを完全に覆います。マスクは非表示の要素にも適用されます。可視要素のみをマッチング して、それを無効にしてください。

    • MaskColor string? (任意)追加: v1.35#

      マスクされた要素のオーバーレイボックスの色を、CSS カラー形式 で指定します。デフォルトの色はピンク #FF00FF です。

    • OmitBackground bool? (任意)#

      デフォルトの白い背景を非表示にし、透明度のあるスクリーンショットのキャプチャを許可します。jpeg 画像には適用されません。デフォルトは false です。

    • Path string? (任意)#

      イメージを保存するファイルパス。スクリーンショットのタイプは、ファイル拡張子から推測されます。Path が相対パスの場合、現在の作業ディレクトリからの相対パスとして解決されます。パスが指定されていない場合、イメージはディスクに保存されません。

    • Quality int? (任意)#

      画像の品質、0〜100 の範囲。png 画像には適用されません。

    • Scale enum ScreenshotScale { Css, Device }? (任意)#

      "css" に設定すると、スクリーンショットはページ上の CSS ピクセルごとに 1 ピクセルになります。高 DPI デバイスの場合、これによりスクリーンショットが小さくなります。"device" オプションを使用すると、デバイスピクセルごとに 1 ピクセルが生成されるため、高 DPI デバイスのスクリーンショットは 2 倍以上に大きくなります。

      デフォルトは "device" です。

    • Style string? (任意)追加: v1.41#

      スクリーンショットを作成中に適用するスタイルシートのテキスト。これは、動的な要素を非表示にしたり、要素を非表示にしたり、プロパティを変更して、再現可能なスクリーンショットを作成するのに役立つ場所です。このスタイルシートは Shadow DOM を貫通し、内部フレームに適用されます。

    • Timeout [float]? (任意)#

      最大タイムアウト時間(ミリ秒単位)。デフォルトは 30000 (30秒) です。タイムアウトを無効にするには 0 を渡します。デフォルト値は BrowserContext.SetDefaultTimeout() または Page.SetDefaultTimeout() メソッドを使用して変更できます。

    • Type enum ScreenshotType { Png, Jpeg }? (任意)#

      スクリーンショットのタイプを指定します。デフォルトは png です。

戻り値

詳細

このメソッドは、ロケーターに一致する特定の要素のサイズと位置にクリップされたページのスクリーンショットをキャプチャします。要素が他の要素で覆われている場合、スクリーンショットに実際に表示されるわけではありません。要素がスクロール可能なコンテナーである場合、現在スクロールされているコンテンツのみがスクリーンショットに表示されます。

このメソッドは、操作可能性 チェックを待ってから、スクリーンショットを撮る前に要素をビューにスクロールします。要素が DOM から切り離されている場合、メソッドはエラーをスローします。

キャプチャされたスクリーンショットを含むバッファーを返します。


ScrollIntoViewIfNeededAsync

v1.14で追加 locator.ScrollIntoViewIfNeededAsync

このメソッドは、操作可能性 チェックを待ってから、IntersectionObserverratio で定義されているように、要素が完全に表示されていない限り、要素をビューにスクロールしようとします。

スクロールの代替方法については、スクロール を参照してください。

使用例

await Locator.ScrollIntoViewIfNeededAsync(options);

引数

  • options LocatorScrollIntoViewIfNeededOptions? (任意)
    • Timeout [float]? (任意)#

      最大タイムアウト時間(ミリ秒単位)。デフォルトは 30000 (30秒) です。タイムアウトを無効にするには 0 を渡します。デフォルト値は BrowserContext.SetDefaultTimeout() または Page.SetDefaultTimeout() メソッドを使用して変更できます。

戻り値


SelectOptionAsync

v1.14で追加 locator.SelectOptionAsync

<select> でオプションを 1 つまたは複数選択します。

使用例

<select multiple>
<option value="red">Red</option>
<option value="green">Green</option>
<option value="blue">Blue</option>
</select>
// single selection matching the value or label
await element.SelectOptionAsync(new[] { "blue" });
// single selection matching the label
await element.SelectOptionAsync(new[] { new SelectOptionValue() { Label = "blue" } });
// multiple selection for blue, red and second option
await element.SelectOptionAsync(new[] { "red", "green", "blue" });

引数

  • values string | ElementHandle | IEnumerable | SelectOption | IEnumerable | IEnumerable?#
    • Value string? (オプション)

      option.value でマッチングします。オプションです。

    • Label string? (オプション)

      option.label でマッチングします。オプションです。

    • Index int? (オプション)

      インデックスでマッチングします。オプションです。

    選択するオプション。<select>multiple 属性を持つ場合、マッチするすべてのオプションが選択され、そうでない場合は、渡されたオプションのいずれかにマッチする最初のオプションのみが選択されます。文字列値は、値とラベルの両方にマッチングします。指定されたすべてのプロパティが一致する場合、オプションはマッチングしているとみなされます。
  • options LocatorSelectOptionOptions? (オプション)
    • Force bool? (オプション)#

      アクション可能性 チェックをバイパスするかどうか。デフォルトは false です。

    • NoWaitAfter bool? (オプション)#

      非推奨

      このオプションは効果がありません。

      このオプションは効果がありません。

    • Timeout [float]? (オプション)#

      最大タイムアウト時間(ミリ秒単位)。デフォルトは 30000 (30秒) です。タイムアウトを無効にするには 0 を渡します。デフォルト値は BrowserContext.SetDefaultTimeout() または Page.SetDefaultTimeout() メソッドを使用して変更できます。

戻り値

詳細

このメソッドは、操作可能性のチェックを待ち、指定されたすべてのオプションが <select> 要素に存在することを待ってから、これらのオプションを選択します。

ターゲット要素が <select> 要素でない場合、このメソッドはエラーをスローします。ただし、要素が関連付けられた control を持つ <label> 要素内にある場合、代わりに control が使用されます。

正常に選択されたオプション値の配列を返します。

提供されたすべてのオプションが選択されると、change および input イベントをトリガーします。


SelectTextAsync

v1.14で追加 locator.SelectTextAsync

このメソッドは、操作可能性のチェックを待ち、その後要素にフォーカスし、そのテキストコンテンツをすべて選択します。

要素が関連付けられた control を持つ <label> 要素内にある場合、代わりに control 内のテキストにフォーカスして選択します。

使用例

await Locator.SelectTextAsync(options);

引数

  • options LocatorSelectTextOptions? (オプション)
    • Force bool? (オプション)#

      アクション可能性 チェックをバイパスするかどうか。デフォルトは false です。

    • Timeout [float]? (オプション)#

      最大タイムアウト時間(ミリ秒単位)。デフォルトは 30000 (30秒) です。タイムアウトを無効にするには 0 を渡します。デフォルト値は BrowserContext.SetDefaultTimeout() または Page.SetDefaultTimeout() メソッドを使用して変更できます。

戻り値


SetCheckedAsync

追加: v1.15 locator.SetCheckedAsync

チェックボックスまたはラジオ要素の状態を設定します。

使用例

await page.GetByRole(AriaRole.Checkbox).SetCheckedAsync(true);

引数

  • checkedState bool#

    チェックボックスをチェックするか、チェックを外すか。

  • options LocatorSetCheckedOptions? (オプション)

    • Force bool? (オプション)#

      アクション可能性 チェックをバイパスするかどうか。デフォルトは false です。

    • NoWaitAfter bool? (オプション)#

      非推奨

      このオプションは効果がありません。

      このオプションは効果がありません。

    • Position Position? (オプション)#

      • X [float]

      • Y [float]

      要素のパディングボックスの左上隅を基準に使用するポイント。指定しない場合は、要素の可視点を使用します。

    • Timeout [float]? (オプション)#

      最大タイムアウト時間(ミリ秒単位)。デフォルトは 30000 (30秒) です。タイムアウトを無効にするには 0 を渡します。デフォルト値は BrowserContext.SetDefaultTimeout() または Page.SetDefaultTimeout() メソッドを使用して変更できます。

    • Trial bool? (オプション)#

      設定すると、このメソッドは アクション可能性 チェックのみを実行し、アクションをスキップします。デフォルトは false です。アクションを実行せずに、要素がアクションの準備ができるまで待機するのに役立ちます。

戻り値

詳細

このメソッドは、次の手順を実行して要素をチェックまたはチェック解除します。

  1. マッチした要素がチェックボックスまたはラジオ入力であることを確認します。そうでない場合、このメソッドは例外をスローします。
  2. 要素がすでに正しいチェック状態になっている場合、このメソッドはすぐに戻ります。
  3. Force オプションが設定されていない限り、マッチした要素に対する操作可能性チェックを待ちます。チェック中に要素がデタッチされた場合、アクション全体が再試行されます。
  4. 必要に応じて、要素をビューにスクロールします。
  5. Page.Mouse を使用して、要素の中心をクリックします。
  6. 要素がチェックまたはチェック解除されたことを確認します。そうでない場合、このメソッドは例外をスローします。

指定された Timeout 中にすべてのステップが完了しなかった場合、このメソッドは TimeoutError をスローします。ゼロのタイムアウトを渡すと、これは無効になります。


SetInputFilesAsync

v1.14で追加 locator.SetInputFilesAsync

ファイルまたは複数のファイルを <input type=file> にアップロードします。[webkitdirectory] 属性を持つ入力の場合、単一のディレクトリパスのみがサポートされます。

使用例

// Select one file
await page.GetByLabel("Upload file").SetInputFilesAsync("myfile.pdf");

// Select multiple files
await page.GetByLabel("Upload files").SetInputFilesAsync(new[] { "file1.txt", "file12.txt" });

// Select a directory
await page.GetByLabel("Upload directory").SetInputFilesAsync("mydir");

// Remove all the selected files
await page.GetByLabel("Upload file").SetInputFilesAsync(new[] {});

// Upload buffer from memory
await page.GetByLabel("Upload file").SetInputFilesAsync(new FilePayload
{
Name = "file.txt",
MimeType = "text/plain",
Buffer = System.Text.Encoding.UTF8.GetBytes("this is a test"),
});

引数

  • files string | IEnumerable<string> | FilePayload | IEnumerable<FilePayload>#
    • Name string

      ファイル名

    • MimeType string

      ファイルタイプ

    • Buffer byte[]

      ファイルコンテンツ

  • options LocatorSetInputFilesOptions? (オプション)
    • NoWaitAfter bool? (オプション)#

      非推奨

      このオプションは効果がありません。

      このオプションは効果がありません。

    • Timeout [float]? (オプション)#

      最大タイムアウト時間(ミリ秒単位)。デフォルトは 30000 (30秒) です。タイムアウトを無効にするには 0 を渡します。デフォルト値は BrowserContext.SetDefaultTimeout() または Page.SetDefaultTimeout() メソッドを使用して変更できます。

戻り値

詳細

ファイル入力の値をこれらのファイルパスまたはファイルに設定します。filePaths の一部が相対パスである場合、それらは現在の作業ディレクトリからの相対パスとして解決されます。空の配列の場合、選択されたファイルをクリアします。

このメソッドは、Locatorinput 要素を指していることを期待しています。ただし、要素が関連付けられた control を持つ <label> 要素内にある場合、代わりに control をターゲットにします。


TapAsync

v1.14で追加 locator.TapAsync

locator にマッチする要素に対してタップジェスチャーを実行します。タッチイベントを手動でディスパッチして他のジェスチャーをエミュレートする例については、レガシーなタッチイベントのエミュレーションページを参照してください。

使用例

await Locator.TapAsync(options);

引数

  • options LocatorTapOptions? (オプション)
    • Force bool? (オプション)#

      アクション可能性 チェックをバイパスするかどうか。デフォルトは false です。

    • Modifiers IEnumerable?<enum KeyboardModifier { Alt, Control, ControlOrMeta, Meta, Shift }> (オプション)#

      押すモディファイキー。操作中はこれらのモディファイキーのみが押されていることを保証し、現在のモディファイキーを元に戻します。指定しない場合、現在押されているモディファイキーが使用されます。"ControlOrMeta" は、WindowsとLinuxでは "Control" に、macOSでは "Meta" に解決されます。

    • NoWaitAfter bool? (オプション)#

      非推奨

      このオプションは効果がありません。

      このオプションは効果がありません。

    • Position Position? (オプション)#

      • X [float]

      • Y [float]

      要素のパディングボックスの左上隅を基準に使用するポイント。指定しない場合は、要素の可視点を使用します。

    • Timeout [float]? (オプション)#

      最大タイムアウト時間(ミリ秒単位)。デフォルトは 30000 (30秒) です。タイムアウトを無効にするには 0 を渡します。デフォルト値は BrowserContext.SetDefaultTimeout() または Page.SetDefaultTimeout() メソッドを使用して変更できます。

    • Trial bool? (オプション)#

      設定すると、このメソッドは アクション可能性 チェックのみを実行し、アクションをスキップします。デフォルトは false です。アクションを実行せずに、要素がアクションの準備ができるまで待機するのに役立ちます。キーボード modifiers は、trial に関係なく押され、これらのキーが押されたときにのみ表示される要素のテストを可能にすることに注意してください。

戻り値

詳細

このメソッドは、次の手順を実行して要素をタップします。

  1. Force オプションが設定されていない限り、要素に対する操作可能性チェックを待ちます。
  2. 必要に応じて、要素をビューにスクロールします。
  3. Page.Touchscreen を使用して、要素の中央、または指定された Position をタップします。

アクション中に要素がDOMから切り離された場合、このメソッドは例外をスローします。

指定された Timeout 中にすべてのステップが完了しなかった場合、このメソッドは TimeoutError をスローします。ゼロのタイムアウトを渡すと、これは無効になります。

注記

element.tap() は、ブラウザコンテキストの hasTouch オプションが true に設定されている必要があります。


TextContentAsync

v1.14で追加 locator.TextContentAsync

node.textContent を返します。

テキストのアサート

ページ上のテキストをアサートする必要がある場合は、不安定さを避けるために、Expect(Locator).ToHaveTextAsync() を使用することを推奨します。詳細は アサーションガイド を参照してください。

使用例

await Locator.TextContentAsync(options);

引数

  • options LocatorTextContentOptions? (オプション)
    • Timeout [float]? (オプション)#

      最大タイムアウト時間(ミリ秒単位)。デフォルトは 30000 (30秒) です。タイムアウトを無効にするには 0 を渡します。デフォルト値は BrowserContext.SetDefaultTimeout() または Page.SetDefaultTimeout() メソッドを使用して変更できます。

戻り値


UncheckAsync

v1.14で追加 locator.UncheckAsync

チェックボックスまたはラジオ要素がチェックされていないことを確認します。

使用例

await page.GetByRole(AriaRole.Checkbox).UncheckAsync();

引数

  • options LocatorUncheckOptions? (オプション)
    • Force bool? (オプション)#

      アクション可能性 チェックをバイパスするかどうか。デフォルトは false です。

    • NoWaitAfter bool? (オプション)#

      非推奨

      このオプションは効果がありません。

      このオプションは効果がありません。

    • Position Position? (オプション)#

      • X [float]

      • Y [float]

      要素のパディングボックスの左上隅を基準に使用するポイント。指定しない場合は、要素の可視点を使用します。

    • Timeout [float]? (オプション)#

      最大タイムアウト時間(ミリ秒単位)。デフォルトは 30000 (30秒) です。タイムアウトを無効にするには 0 を渡します。デフォルト値は BrowserContext.SetDefaultTimeout() または Page.SetDefaultTimeout() メソッドを使用して変更できます。

    • Trial bool? (オプション)#

      設定すると、このメソッドは アクション可能性 チェックのみを実行し、アクションをスキップします。デフォルトは false です。アクションを実行せずに、要素がアクションの準備ができるまで待機するのに役立ちます。

戻り値

詳細

このメソッドは、次の手順を実行して要素をチェック解除します。

  1. 要素がチェックボックスまたはラジオ入力であることを確認します。そうでない場合、このメソッドは例外をスローします。要素がすでにチェックされていない場合、このメソッドはすぐに戻ります。
  2. Force オプションが設定されていない限り、要素に対する操作可能性チェックを待ちます。
  3. 必要に応じて、要素をビューにスクロールします。
  4. Page.Mouse を使用して、要素の中心をクリックします。
  5. 要素がチェック解除されたことを確認します。そうでない場合、このメソッドは例外をスローします。

アクション中に要素がDOMから切り離された場合、このメソッドは例外をスローします。

指定された Timeout 中にすべてのステップが完了しなかった場合、このメソッドは TimeoutError をスローします。ゼロのタイムアウトを渡すと、これは無効になります。


WaitForAsync

追加: v1.16 locator.WaitForAsync

locator で指定された要素が State オプションを満たすときに戻ります。

ターゲット要素がすでに条件を満たしている場合、メソッドはすぐに戻ります。それ以外の場合は、条件が満たされるまで最大 Timeout ミリ秒間待ちます。

使用例

var orderSent = page.Locator("#order-sent");
orderSent.WaitForAsync();

引数

  • options LocatorWaitForOptions? (オプション)
    • State enum WaitForSelectorState { Attached, Detached, Visible, Hidden }? (オプション)#

      デフォルトは 'visible' です。次のいずれかになります。

      • 'attached' - 要素が DOM に存在するのを待ちます。
      • 'detached' - 要素が DOM に存在しなくなるのを待ちます。
      • 'visible' - 要素が空でないバウンディングボックスを持ち、visibility:hidden がないのを待ちます。コンテンツがない要素や display:none が設定された要素は空のバウンディングボックスを持ち、visible とはみなされないことに注意してください。
      • 'hidden' - 要素が DOM からデタッチされるか、空のバウンディングボックスを持つか、または visibility:hidden になるのを待ちます。これは 'visible' オプションの反対です。
    • Timeout [float]? (オプション)#

      最大タイムアウト時間(ミリ秒単位)。デフォルトは 30000 (30秒) です。タイムアウトを無効にするには 0 を渡します。デフォルト値は BrowserContext.SetDefaultTimeout() または Page.SetDefaultTimeout() メソッドを使用して変更できます。

戻り値


非推奨

ElementHandleAsync

v1.14で追加 locator.ElementHandleAsync
推奨されません

後者は本質的に競争状態になりやすいため、常に ElementHandle よりも Locator とウェブアサーションを使用することを推奨します。

指定された locator を最初の一致する DOM 要素に解決します。一致する要素がない場合、1 つ現れるまで待ちます。複数の要素が locator に一致する場合、例外をスローします。

使用例

await Locator.ElementHandleAsync(options);

引数

  • options LocatorElementHandleOptions? (オプション)
    • Timeout [float]? (オプション)#

      最大タイムアウト時間(ミリ秒単位)。デフォルトは 30000 (30秒) です。タイムアウトを無効にするには 0 を渡します。デフォルト値は BrowserContext.SetDefaultTimeout() または Page.SetDefaultTimeout() メソッドを使用して変更できます。

戻り値


ElementHandlesAsync

v1.14で追加 locator.ElementHandlesAsync
推奨されません

後者は本質的に競争状態になりやすいため、常に ElementHandle よりも Locator とウェブアサーションを使用することを推奨します。

指定された locator をすべての一致する DOM 要素に解決します。一致する要素がない場合、空のリストを返します。

使用例

await Locator.ElementHandlesAsync();

戻り値


TypeAsync

v1.14で追加 locator.TypeAsync
非推奨

ほとんどの場合、代わりに Locator.FillAsync() を使用する必要があります。ページ上に特別なキーボード処理がある場合にのみ、キーを 1 つずつ押す必要があります。この場合は、Locator.PressSequentiallyAsync() を使用してください。

要素にフォーカスし、テキスト内の各文字に対して keydownkeypress/input、および keyup イベントを送信します。

ControlArrowDown などの特殊キーを押すには、Locator.PressAsync() を使用してください。

使用例

引数

  • text string#

    フォーカスされた要素に入力するテキスト。

  • options LocatorTypeOptions? (オプション)

    • Delay [float]? (オプション)#

      キーを押す間の待ち時間(ミリ秒単位)。デフォルトは 0 です。

    • NoWaitAfter bool? (オプション)#

      非推奨

      このオプションは効果がありません。

      このオプションは効果がありません。

    • Timeout [float]? (オプション)#

      最大タイムアウト時間(ミリ秒単位)。デフォルトは 30000 (30秒) です。タイムアウトを無効にするには 0 を渡します。デフォルト値は BrowserContext.SetDefaultTimeout() または Page.SetDefaultTimeout() メソッドを使用して変更できます。

戻り値