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

Locator

ロケーターは、Playwright の自動待機と再試行の中心となる機能です。簡単に言えば、ロケーターはいつでもページ上の要素を見つける方法を表します。Page.Locator() メソッドでロケーターを作成できます。

ロケーターの詳細.


メソッド

AllAsync

追加: v1.29 locator.AllAsync

ロケーターが要素のリストを指している場合、これはそれぞれの要素を指すロケーターの配列を返します。

Locator.AllAsync() は要素がロケーターに一致するのを待たず、代わりにページに存在するものをすぐに返します。

要素のリストが動的に変化する場合、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

このロケーターと引数ロケーターの両方に一致するロケーターを作成します。

使用法

次の例は、特定のタイトルを持つボタンを検索します。

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

引数

  • 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

このメソッドは、ロケーターに一致する要素の境界ボックスを返します。要素が可視でない場合は 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 と同様に、返される境界ボックスに影響を与えます。つまり、x および/または y が負になる可能性があります。

子フレームの要素は、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] 要素でない場合、このメソッドはエラーをスローします。ただし、要素が関連付けられた コントロール を持つ <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. 要素の中央または指定された Position をクリックするには Page.Mouse を使用します。
  4. NoWaitAfter オプションが設定されていない限り、開始されたナビゲーションが成功するか失敗するまで待ちます。

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

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


ContentFrame

追加バージョン: v1.43 locator.ContentFrame

このロケーターと同じ 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

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

カウントのアサート

ページ上の要素の数をアサートする必要がある場合は、不安定さを避けるために 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. 要素の中央または指定された Position をダブルクリックするには Page.Mouse を使用します。

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

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

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


Describe

追加: v1.53 locator.Describe

ロケーターを記述します。記述はトレースビューアーとレポートで使用されます。同じ要素を指すロケーターを返します。

使用法

var button = Page.GetByTestId("btn-sub").Describe("Subscribe button");
await button.ClickAsync();

引数

  • description string#

    ロケーターの説明。

戻り値


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#

    ドラッグ先の要素のロケーター。

  • 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です。アクションを実行せずに要素がアクションの準備ができるまで待機するのに便利です。

戻り値

詳細

このメソッドは、ロケーターを別のターゲットロケーターまたはターゲット位置にドラッグします。まずソース要素に移動し、mousedown を実行し、次にターゲット要素または位置に移動し、mouseup を実行します。


EvaluateAsync

追加されたバージョン: v1.14 locator.EvaluateAsync

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

使用法

expressionに引数を渡す

var result = await page.GetByTestId("myId").EvaluateAsync<string>("(element, [x, y]) => element.textContent + ' ' + x * y)", new[] { 7, 8 });
Console.WriteLine(result); // prints "myId text 56"

引数

  • expression string#

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

  • arg EvaluationArgument? (任意)#

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

  • options LocatorEvaluateOptions? (任意)

    • Timeout [float]? (任意)#

      評価前にロケーターを待機する最大時間 (ミリ秒)。ロケーターが解決された後、評価自体はタイムアウトによって制限されないことに注意してください。デフォルトは 30000 (30 秒) です。タイムアウトを無効にするには 0 を渡します。

戻り値

  • [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]#

詳細

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

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 を渡します。

戻り値

詳細

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

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"

      Playwright
      に一致します。

    • 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ロールARIA属性、およびアクセシブルネームで特定できます。

使用法

以下の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ガイドラインは、roleおよび/またはaria-*属性をデフォルト値に設定して暗黙的なロールと属性を重複させることを**推奨しません**。


GetByTestId

追加バージョン: v1.27 locator.GetByTestId

テストIDによって要素を特定します。

使用法

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

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

テストIDによって要素を特定できます。

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

引数

戻り値

詳細

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


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

要素をそのタイトル属性で特定できます。

使用法

以下の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. 要素の中央または指定された Position にホバーするには Page.Mouse を使用します。

アクション中に要素が 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() メソッドを使用して変更できます。

戻り値

詳細

入力、テキストエリア、または選択要素ではない要素をスローします。ただし、要素が関連付けられた コントロール を持つ <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

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

無効状態のアサート

要素が無効であることをアサートする必要がある場合は、不安定さを避けるために 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(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"

      Playwright
      に一致します。

戻り値


Nth

追加されたバージョン: v1.14 locator.Nth

n番目の一致する要素のロケーターを返します。0から始まるため、nth(0) は最初の要素を選択します。

使用法

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

引数

戻り値


Or

追加バージョン: v1.33 locator.Or

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

両方のロケーターが何かを一致する場合、結果のロケーターには複数の一致があるため、ロケーターの厳密性違反を引き起こす可能性があることに注意してください。

使用法

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

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

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 - F12, Digit0- Digit9, KeyA- KeyZ, Backquote, Minus, Equal, Backslash, Backspace, Tab, Delete, Escape, ArrowDown, End, Enter, Home, Insert, PageDown, PageUp, ArrowRight, ArrowUpなど。

以下の修飾ショートカットもサポートされています:Shift, Control, Alt, Meta, ShiftLeft, ControlOrMetaControlOrMetaは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? (optional)追加されたバージョン: 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? (optional)追加日: 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>のオプションを選択します。

使用法

<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>要素でない場合、このメソッドはエラーをスローします。ただし、要素が関連するコントロールを持つ<label>要素内にある場合、代わりにそのコントロールが使用されます。

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

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


SelectTextAsync

追加されたバージョン: v1.14 locator.SelectTextAsync

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

要素が関連するコントロールを持つ<label>要素内にある場合、代わりにコントロールにフォーカスしてテキストを選択します。

使用法

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 オプションが設定されていない限り、一致した要素に対して操作可能 (actionability) チェックが完了するまで待機します。チェック中に要素がデタッチされた場合、アクション全体が再試行されます。
  4. 必要に応じて要素を表示するためにスクロールします。
  5. Page.Mouseを使用して要素の中央をクリックします。
  6. 要素がチェックまたはチェック解除されたことを確認します。そうでない場合、このメソッドはエラーをスローします。

すべてのステップが結合され、指定されたタイムアウト内に完了しなかった場合、このメソッドは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要素を指すことを想定しています。ただし、要素が関連するコントロールを持つ<label>要素内にある場合は、代わりにコントロールをターゲットにします。


TapAsync

追加されたバージョン: v1.14 locator.TapAsync

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

使用法

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オプションが設定されていない限り、要素に対する操作可能性 (actionability) チェックを待機します。
  2. 必要に応じて要素を表示するためにスクロールします。
  3. Page.Touchscreenを使用して、要素の中心、または指定されたPositionをタップします。

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

すべてのステップが結合され、指定されたタイムアウト内に完了しなかった場合、このメソッドは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オプションが設定されていない限り、要素に対する操作可能性 (actionability) チェックを待機します。
  3. 必要に応じて要素を表示するためにスクロールします。
  4. Page.Mouseを使用して要素の中央をクリックします。
  5. 要素がチェックされていないことを確認します。そうでない場合、このメソッドはエラーをスローします。

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

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


WaitForAsync

追加バージョン: v1.16 locator.WaitForAsync

ロケーターで指定された要素が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の要素は空の境界ボックスを持つため、可視とはみなされないことに注意してください。
      • 'hidden' - 要素がDOMからデタッチされているか、空の境界ボックスを持つか、またはvisibility:hiddenを持つことを待ちます。これは'visible'オプションとは逆です。
    • Timeout [float]? (オプション)#

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

戻り値


非推奨

ElementHandleAsync

追加されたバージョン: v1.14 locator.ElementHandleAsync
推奨されません

ElementHandleは本質的に競合状態になりやすいため、常にLocatorとウェブアサーションを優先してください。

指定されたロケーターを最初の一致するDOM要素に解決します。一致する要素がない場合、1つが見つかるまで待機します。複数の要素がロケーターに一致する場合、エラーをスローします。

使用法

await Locator.ElementHandleAsync(options);

引数

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

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

戻り値


ElementHandlesAsync

追加されたバージョン: v1.14 locator.ElementHandlesAsync
推奨されません

ElementHandleは本質的に競合状態になりやすいため、常に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() メソッドを使用して変更できます。

戻り値