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

Locator

Locatorは、Playwrightの自動待機と再試行機能の中心的な要素です。簡単に言うと、Locatorは、任意の時点でページ上の要素を見つける方法を表します。Page.Locator()メソッドを使用して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? (オプション)
    • Ref bool? (オプション)追加: v1.52#

      各要素のシンボリック参照を生成します。スナップショットをキャプチャした直後にaria-ref=<ref> locatorを使用して、要素に対してアクションを実行できます。

    • 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と同様に、返されるバウンディングボックスに影響を与えます。つまり、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? (オプション)#

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

戻り値

詳細

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

  1. Forceオプションが設定されていない限り、要素のactionabilityチェックを待機します。
  2. 必要に応じて、要素をビューにスクロールします。
  3. Page.Mouseを使用して、要素の中心または指定されたPositionをクリックします。
  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? (オプション)#

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

戻り値

詳細

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

  1. Forceオプションが設定されていない限り、要素のactionabilityチェックを待機します。
  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#

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

  • 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 string#

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

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

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

  • options LocatorEvaluateOptions? (オプション)

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

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

戻り値

  • [object]#

詳細

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

expressionPromiseを返す場合、このメソッドはプロミスが解決されるのを待機し、その値を返します。

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を返す場合、このメソッドはプロミスが解決されるのを待機し、その値を返します。

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を返す場合、このメソッドはプロミスが解決されるのを待機し、その値を返します。

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 ロール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ガイドラインでは、デフォルト値に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>

titleテキストで検索した後、問題の数をチェックできます。

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? (省略可能)#

      設定すると、このメソッドはactionabilityチェックのみを実行し、アクションをスキップします。デフォルトは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()メソッドを使用して変更できます。

戻り値

詳細

入力、テキストエリア、またはセレクトではない要素をスローします。ただし、要素が関連付けられたコントロールを持つ<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つのロケーターのいずれか、または両方に一致するすべての要素に一致するロケーターを作成します。

両方のロケーターが何かに一致する場合、結果のロケーターには複数のマッチが存在する可能性があり、ロケーターの厳密性に違反する可能性があることに注意してください。

使い方

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

ノート

「新しいメール」ボタンとセキュリティダイアログの両方が画面に表示される場合、「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 が1つの文字である場合、大文字と小文字が区別されるため、値 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> でオプションを選択します。

使い方

<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 オプションが設定されていない限り、一致する要素の操作可能性チェックを待機します。チェック中に要素がデタッチされた場合、アクション全体が再試行されます。
  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 要素を指していることを想定しています。ただし、要素が、関連付けられた コントロールを持つ <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? (省略可能)#

      設定すると、このメソッドはactionabilityチェックのみを実行し、アクションをスキップします。デフォルトは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

ロケーターで指定された要素が 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
推奨されません

ElementHandles は本質的に競争状態になりやすいため、常に Locators と Web アサーションを使用することを優先してください。

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

使い方

await Locator.ElementHandleAsync(options);

引数

  • options LocatorElementHandleOptions? (省略可能)
    • Timeout [float]? (省略可能)#

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

戻り値


ElementHandlesAsync

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

ElementHandles は本質的に競争状態になりやすいため、常に Locators と Web アサーションを使用することを優先してください。

指定されたロケーターを、一致するすべての 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()メソッドを使用して変更できます。

戻り値