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

ElementHandle

ElementHandle は、ページ内の DOM 要素を表します。ElementHandle は、Page.QuerySelectorAsync() メソッドで作成できます。

非推奨

ElementHandle の使用は推奨されません。Locator オブジェクトと web-first アサーションを代わりに使用してください。

var handle = await page.QuerySelectorAsync("a");
await handle.ClickAsync();

ElementHandle は、ハンドルが JsHandle.DisposeAsync() で破棄されない限り、DOM 要素がガベージコレクションされるのを防ぎます。ElementHandle は、元のフレームがナビゲーションされると自動的に破棄されます。

ElementHandle インスタンスは、Page.EvalOnSelectorAsync() および Page.EvaluateAsync() メソッドの引数として使用できます。

Locator と ElementHandle の違いは、ElementHandle が特定の要素を指すのに対し、Locator は要素を取得する方法のロジックを捉える点です。

以下の例では、handle はページ上の特定の DOM 要素を指します。その要素がテキストを変更したり、React によって全く異なるコンポーネントをレンダリングするために使用された場合でも、handle は依然としてその DOM 要素を指しています。これは予期しない動作につながる可能性があります。

var handle = await page.QuerySelectorAsync("text=Submit");
await handle.HoverAsync();
await handle.ClickAsync();

locator を使用すると、element が使用されるたびに、最新の DOM 要素がセレクターを使用してページ内で特定されます。したがって、以下のスニペットでは、基になる DOM 要素が 2 回特定されます。

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

メソッド

BoundingBoxAsync

v1.9 より前に追加 elementHandle.BoundingBoxAsync

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

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

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

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

使用例

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

戻り値

  • BoundingBox?#
    • x [float]

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

    • y [float]

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

    • width [float]

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

    • height [float]

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


ContentFrameAsync

v1.9 より前に追加 elementHandle.ContentFrameAsync

iframe ノードを参照する要素ハンドルに対してコンテンツフレームを返します。それ以外の場合は null を返します。

使用例

await ElementHandle.ContentFrameAsync();

戻り値


OwnerFrameAsync

v1.9 より前に追加 elementHandle.OwnerFrameAsync

指定された要素を含むフレームを返します。

使用例

await ElementHandle.OwnerFrameAsync();

戻り値


WaitForElementStateAsync

v1.9 より前に追加 elementHandle.WaitForElementStateAsync

要素が state を満たすと戻ります。

state パラメーターに応じて、このメソッドは actionability チェックのいずれかが成功するのを待ちます。要素が待機中にデタッチされた場合、このメソッドは例外をスローします。ただし、"hidden" 状態を待機している場合は除きます。

  • "visible" 要素が 表示 されるまで待ちます。
  • "hidden" 要素が 非表示 になるか、デタッチされるまで待ちます。非表示の待機は、要素がデタッチされても例外をスローしないことに注意してください。
  • "stable" 要素が 表示 かつ 安定 するまで待ちます。
  • "enabled" 要素が 有効 になるまで待ちます。
  • "disabled" 要素が 無効 になるまで待ちます。
  • "editable" 要素が 編集可能 になるまで待ちます。

要素が Timeout ミリ秒の条件を満たさない場合、このメソッドは例外をスローします。

使用例

await ElementHandle.WaitForElementStateAsync(state, options);

引数

  • state enum ElementState { Visible, Hidden, Stable, Enabled, Disabled, Editable }#

    待機する状態。詳細については下記を参照してください。

  • options ElementHandleWaitForElementStateOptions? (optional)

    • Timeout [float]? (optional)#

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

戻り値


非推奨

CheckAsync

v1.9 より前に追加 elementHandle.CheckAsync
非推奨

代わりに、locator ベースの Locator.CheckAsync() を使用してください。locator の詳細をお読みください。

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

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

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

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

使用例

await ElementHandle.CheckAsync(options);

引数

  • options ElementHandleCheckOptions? (optional)
    • Force bool? (optional)#

      actionability チェックをバイパスするかどうか。デフォルトは false です。

    • NoWaitAfter bool? (optional)#

      非推奨

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

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

    • Position Position? (optional)v1.11 で追加#

      • X [float]

      • Y [float]

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

    • Timeout [float]? (optional)#

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

    • Trial bool? (optional)v1.11 で追加#

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

戻り値


ClickAsync

v1.9 より前に追加 elementHandle.ClickAsync
非推奨

代わりに、locator ベースの Locator.ClickAsync() を使用してください。locator の詳細をお読みください。

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

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

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

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

使用例

await ElementHandle.ClickAsync(options);

引数

  • options ElementHandleClickOptions? (optional)
    • Button enum MouseButton { Left, Right, Middle }? (optional)#

      デフォルトは left です。

    • ClickCount int? (optional)#

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

    • Delay [float]? (optional)#

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

    • Force bool? (optional)#

      actionability チェックをバイパスするかどうか。デフォルトは false です。

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

      押す修飾キー。操作中にこれらの修飾キーのみが押されていることを確認し、その後、現在の修飾キーを復元します。指定しない場合、現在押されている修飾キーが使用されます。"ControlOrMeta" は、Windows および Linux では "Control" に、macOS では "Meta" に解決されます。

    • NoWaitAfter bool? (optional)#

      非推奨

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

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

    • Position Position? (optional)#

      • X [float]

      • Y [float]

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

    • Timeout [float]? (optional)#

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

    • Trial bool? (optional)v1.11 で追加#

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

戻り値


DblClickAsync

v1.9 より前に追加 elementHandle.DblClickAsync
非推奨

代わりに、locator ベースの Locator.DblClickAsync() を使用してください。locator の詳細をお読みください。

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

  1. actionability チェックが要素で成功するのを待ちます。ただし、Force オプションが設定されている場合を除きます。
  2. 必要に応じて、要素をビューにスクロールします。
  3. Page.Mouse を使用して、要素の中心、または指定された Position をダブルクリックします。

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

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

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

使用例

await ElementHandle.DblClickAsync(options);

引数

  • options ElementHandleDblClickOptions? (optional)
    • Button enum MouseButton { Left, Right, Middle }? (optional)#

      デフォルトは left です。

    • Delay [float]? (optional)#

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

    • Force bool? (optional)#

      actionability チェックをバイパスするかどうか。デフォルトは false です。

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

      押す修飾キー。操作中にこれらの修飾キーのみが押されていることを確認し、その後、現在の修飾キーを復元します。指定しない場合、現在押されている修飾キーが使用されます。"ControlOrMeta" は、Windows および Linux では "Control" に、macOS では "Meta" に解決されます。

    • NoWaitAfter bool? (optional)#

      非推奨

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

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

    • Position Position? (optional)#

      • X [float]

      • Y [float]

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

    • Timeout [float]? (optional)#

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

    • Trial bool? (optional)v1.11 で追加#

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

戻り値


DispatchEventAsync

v1.9 より前に追加 elementHandle.DispatchEventAsync
非推奨

代わりに、locator ベースの Locator.DispatchEventAsync() を使用してください。locator の詳細をお読みください。

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

使用例

await elementHandle.DispatchEventAsync("click");

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

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

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

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

引数

  • type string#

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

  • eventInit EvaluationArgument? (optional)#

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

戻り値


EvalOnSelectorAsync

v1.9 で追加 elementHandle.EvalOnSelectorAsync
非推奨

このメソッドは、要素が actionability チェックに合格するのを待機しないため、不安定なテストにつながる可能性があります。代わりに、Locator.EvaluateAsync()、その他の Locator ヘルパーメソッド、または web-first アサーションを使用してください。

expression の戻り値を返します。

このメソッドは、ElementHandle のサブツリー内で指定されたセレクターに一致する要素を見つけ、それを expression の最初の引数として渡します。セレクターに一致する要素がない場合、このメソッドはエラーをスローします。

expressionPromise を返す場合、ElementHandle.EvalOnSelectorAsync() は promise が解決されるのを待ってからその値を返します。

使用例

var tweetHandle = await page.QuerySelectorAsync(".tweet");
Assert.AreEqual("100", await tweetHandle.EvalOnSelectorAsync(".like", "node => node.innerText"));
Assert.AreEqual("10", await tweetHandle.EvalOnSelectorAsync(".retweets", "node => node.innerText"));

引数

  • selector string#

    クエリするセレクター。

  • expression string#

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

  • arg EvaluationArgument? (optional)#

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

戻り値

  • [object]#

EvalOnSelectorAllAsync

v1.9 で追加 elementHandle.EvalOnSelectorAllAsync
非推奨

ほとんどの場合、Locator.EvaluateAllAsync()、その他の Locator ヘルパーメソッド、および web-first アサーションの方が優れています。

expression の戻り値を返します。

このメソッドは、ElementHandle のサブツリー内で指定されたセレクターに一致するすべての要素を見つけ、一致した要素の配列を expression の最初の引数として渡します。

expressionPromise を返す場合、ElementHandle.EvalOnSelectorAllAsync() は promise が解決されるのを待ってからその値を返します。

使用例

<div class="feed">
<div class="tweet">Hello!</div>
<div class="tweet">Hi!</div>
</div>
var feedHandle = await page.QuerySelectorAsync(".feed");
Assert.AreEqual(new [] { "Hello!", "Hi!" }, await feedHandle.EvalOnSelectorAllAsync<string[]>(".tweet", "nodes => nodes.map(n => n.innerText)"));

引数

  • selector string#

    クエリするセレクター。

  • expression string#

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

  • arg EvaluationArgument? (optional)#

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

戻り値

  • [object]#

FillAsync

v1.9 より前に追加 elementHandle.FillAsync
非推奨

代わりに、locator ベースの Locator.FillAsync() を使用してください。locator の詳細をお読みください。

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

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

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

使用例

await ElementHandle.FillAsync(value, options);

引数

  • value string#

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

  • options ElementHandleFillOptions? (optional)

    • Force bool? (optional)v1.13 で追加#

      actionability チェックをバイパスするかどうか。デフォルトは false です。

    • NoWaitAfter bool? (optional)#

      非推奨

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

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

    • Timeout [float]? (optional)#

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

戻り値


FocusAsync

v1.9 より前に追加 elementHandle.FocusAsync
非推奨

代わりに、locator ベースの Locator.FocusAsync() を使用してください。locator の詳細をお読みください。

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

使用例

await ElementHandle.FocusAsync();

戻り値


GetAttributeAsync

v1.9 より前に追加 elementHandle.GetAttributeAsync
非推奨

代わりにロケーターベースの Locator.GetAttributeAsync() を使用してください。詳細については、ロケーターについてお読みください。

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

使用例

await ElementHandle.GetAttributeAsync(name);

引数

  • name string#

    値を取得する属性名。

戻り値


HoverAsync

v1.9 より前に追加 elementHandle.HoverAsync
非推奨

代わりにロケーターベースの Locator.HoverAsync() を使用してください。詳細については、ロケーターについてお読みください。

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

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

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

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

使用例

await ElementHandle.HoverAsync(options);

引数

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

      actionability チェックをバイパスするかどうか。デフォルトは false です。

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

      押す修飾キー。操作中にこれらの修飾キーのみが押されていることを確認し、その後、現在の修飾キーを復元します。指定しない場合、現在押されている修飾キーが使用されます。"ControlOrMeta" は、Windows および Linux では "Control" に、macOS では "Meta" に解決されます。

    • NoWaitAfter bool? (オプション)バージョン 1.28 で追加#

      非推奨

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

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

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

      • X [float]

      • Y [float]

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

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

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

    • Trial bool? (optional)v1.11 で追加#

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

戻り値


InnerHTMLAsync

v1.9 より前に追加 elementHandle.InnerHTMLAsync
非推奨

代わりにロケーターベースの Locator.InnerHTMLAsync() を使用してください。詳細については、ロケーターについてお読みください。

element.innerHTML を返します。

使用例

await ElementHandle.InnerHTMLAsync();

戻り値


InnerTextAsync

v1.9 より前に追加 elementHandle.InnerTextAsync
非推奨

代わりにロケーターベースの Locator.InnerTextAsync() を使用してください。詳細については、ロケーターについてお読みください。

element.innerText を返します。

使用例

await ElementHandle.InnerTextAsync();

戻り値


InputValueAsync

v1.13 で追加 elementHandle.InputValueAsync
非推奨

代わりにロケーターベースの Locator.InputValueAsync() を使用してください。詳細については、ロケーターについてお読みください。

選択された <input><textarea>、または <select> 要素の input.value を返します。

入力要素以外の場合はエラーをスローします。ただし、要素が関連付けられた control を持つ <label> 要素内にある場合は、control の値を返します。

使用例

await ElementHandle.InputValueAsync(options);

引数

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

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

戻り値


IsCheckedAsync

v1.9 より前に追加 elementHandle.IsCheckedAsync
非推奨

代わりにロケーターベースの Locator.IsCheckedAsync() を使用してください。詳細については、ロケーターについてお読みください。

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

使用例

await ElementHandle.IsCheckedAsync();

戻り値


IsDisabledAsync

v1.9 より前に追加 elementHandle.IsDisabledAsync
非推奨

代わりにロケーターベースの Locator.IsDisabledAsync() を使用してください。詳細については、ロケーターについてお読みください。

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

使用例

await ElementHandle.IsDisabledAsync();

戻り値


IsEditableAsync

v1.9 より前に追加 elementHandle.IsEditableAsync
非推奨

代わりにロケーターベースの Locator.IsEditableAsync() を使用してください。詳細については、ロケーターについてお読みください。

要素が編集可能かどうかを返します。

使用例

await ElementHandle.IsEditableAsync();

戻り値


IsEnabledAsync

v1.9 より前に追加 elementHandle.IsEnabledAsync
非推奨

代わりにロケーターベースの Locator.IsEnabledAsync() を使用してください。詳細については、ロケーターについてお読みください。

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

使用例

await ElementHandle.IsEnabledAsync();

戻り値


IsHiddenAsync

v1.9 より前に追加 elementHandle.IsHiddenAsync
非推奨

代わりにロケーターベースの Locator.IsHiddenAsync() を使用してください。詳細については、ロケーターについてお読みください。

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

使用例

await ElementHandle.IsHiddenAsync();

戻り値


IsVisibleAsync

v1.9 より前に追加 elementHandle.IsVisibleAsync
非推奨

代わりにロケーターベースの Locator.IsVisibleAsync() を使用してください。詳細については、ロケーターについてお読みください。

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

使用例

await ElementHandle.IsVisibleAsync();

戻り値


PressAsync

v1.9 より前に追加 elementHandle.PressAsync
非推奨

代わりにロケーターベースの Locator.PressAsync() を使用してください。詳細については、ロケーターについてお読みください。

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

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

F1 - F12Digit0 - Digit9KeyA - KeyZBackquoteMinusEqualBackslashBackspaceTabDeleteEscapeArrowDownEndEnterHomeInsertPageDownPageUpArrowRightArrowUp など。

次の修飾ショートカットもサポートされています: ShiftControlAltMetaShiftLeftControlOrMeta

Shift を押し続けると、key に対応するテキストが uppercase で入力されます。

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

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

使用例

await ElementHandle.PressAsync(key, options);

引数

  • key string#

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

  • options ElementHandlePressOptions? (オプション)

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

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

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

      非推奨

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

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

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

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

戻り値


QuerySelectorAsync

v1.9 で追加 elementHandle.QuerySelectorAsync
非推奨

代わりにロケーターベースの Page.Locator() を使用してください。詳細については、ロケーターについてお読みください。

このメソッドは、ElementHandle のサブツリーで指定されたセレクターに一致する要素を見つけます。セレクターに一致する要素がない場合、null を返します。

使用例

await ElementHandle.QuerySelectorAsync(selector);

引数

  • selector string#

    クエリするセレクター。

戻り値


QuerySelectorAllAsync

v1.9 で追加 elementHandle.QuerySelectorAllAsync
非推奨

代わりにロケーターベースの Page.Locator() を使用してください。詳細については、ロケーターについてお読みください。

このメソッドは、ElementHandle のサブツリーで指定されたセレクターに一致するすべての要素を見つけます。セレクターに一致する要素がない場合、空の配列を返します。

使用例

await ElementHandle.QuerySelectorAllAsync(selector);

引数

  • selector string#

    クエリするセレクター。

戻り値


ScreenshotAsync

v1.9 より前に追加 elementHandle.ScreenshotAsync
非推奨

代わりにロケーターベースの Locator.ScreenshotAsync() を使用してください。詳細については、ロケーターについてお読みください。

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

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

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

使用例

await ElementHandle.ScreenshotAsync(options);

引数

  • options ElementHandleScreenshotOptions? (オプション)
    • Animations enum ScreenshotAnimations { Disabled, Allow }? (オプション)#

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

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

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

    • Caret enum ScreenshotCaret { Hide, Initial }? (オプション)#

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

    • Mask IEnumerable?<Locator> (オプション)#

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

    • MaskColor string? (オプション)バージョン 1.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? (オプション)バージョン 1.41 で追加#

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

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

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

    • Type enum ScreenshotType { Png, Jpeg }? (オプション)#

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

戻り値


ScrollIntoViewIfNeededAsync

v1.9 より前に追加 elementHandle.ScrollIntoViewIfNeededAsync
非推奨

代わりにロケーターベースの Locator.ScrollIntoViewIfNeededAsync() を使用してください。詳細については、ロケーターについてお読みください。

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

elementHandleDocument または ShadowRoot に接続された要素を指していない場合、エラーをスローします。

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

使用例

await ElementHandle.ScrollIntoViewIfNeededAsync(options);

引数

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

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

戻り値


SelectOptionAsync

v1.9 より前に追加 elementHandle.SelectOptionAsync
非推奨

代わりにロケーターベースの Locator.SelectOptionAsync() を使用してください。詳細については、ロケーターについてお読みください。

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

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

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

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

使用例

// Single selection matching the value or label
await handle.SelectOptionAsync(new[] { "blue" });
// single selection matching the label
await handle.SelectOptionAsync(new[] { new SelectOptionValue() { Label = "blue" } });
// multiple selection
await handle.SelectOptionAsync(new[] { "red", "green", "blue" });
// multiple selection for blue, red and second option
await handle.SelectOptionAsync(new[] {
new SelectOptionValue() { Label = "blue" },
new SelectOptionValue() { Index = 2 },
new SelectOptionValue() { Value = "red" }});

引数

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

      option.value で一致します。オプション。

    • Label string? (オプション)

      option.label で一致します。オプション。

    • Index int? (オプション)

      インデックスで一致します。オプション。

    選択するオプション。<select>multiple 属性がある場合、一致するすべてのオプションが選択されます。それ以外の場合は、渡されたオプションのいずれかに一致する最初のオプションのみが選択されます。文字列値は、値とラベルの両方に一致します。指定されたすべてのプロパティが一致する場合、オプションは一致すると見なされます。
  • options ElementHandleSelectOptionOptions? (オプション)
    • Force bool? (optional)v1.13 で追加#

      actionability チェックをバイパスするかどうか。デフォルトは false です。

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

      非推奨

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

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

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

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

戻り値


SelectTextAsync

v1.9 より前に追加 elementHandle.SelectTextAsync
非推奨

代わりにロケーターベースの Locator.SelectTextAsync() を使用してください。詳細については、ロケーターについてお読みください。

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

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

使用例

await ElementHandle.SelectTextAsync(options);

引数

  • options ElementHandleSelectTextOptions? (オプション)
    • Force bool? (optional)v1.13 で追加#

      actionability チェックをバイパスするかどうか。デフォルトは false です。

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

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

戻り値


SetCheckedAsync

バージョン 1.15 で追加 elementHandle.SetCheckedAsync
非推奨

代わりにロケーターベースの Locator.SetCheckedAsync() を使用してください。詳細については、ロケーターについてお読みください。

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

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

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

使用例

await ElementHandle.SetCheckedAsync(checked, options);

引数

  • checkedState bool#

    チェックボックスをチェックまたはチェック解除するかどうか。

  • options ElementHandleSetCheckedOptions? (オプション)

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

      actionability チェックをバイパスするかどうか。デフォルトは false です。

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

      非推奨

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

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

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

      • X [float]

      • Y [float]

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

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

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

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

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

戻り値


SetInputFilesAsync

v1.9 より前に追加 elementHandle.SetInputFilesAsync
非推奨

代わりにロケーターベースの Locator.SetInputFilesAsync() を使用してください。詳細については、ロケーターについてお読みください。

ファイル入力の値をこれらのファイルパスまたはファイルに設定します。filePaths の一部が相対パスの場合、現在の作業ディレクトリからの相対パスとして解決されます。空の配列の場合、選択されたファイルをクリアします。[webkitdirectory] 属性を持つ入力の場合、単一のディレクトリパスのみがサポートされます。

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

使用例

await ElementHandle.SetInputFilesAsync(files, options);

引数

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

      ファイル名

    • MimeType string

      ファイルタイプ

    • Buffer byte[]

      ファイルコンテンツ

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

      非推奨

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

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

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

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

戻り値


TapAsync

v1.9 より前に追加 elementHandle.TapAsync
非推奨

代わりにロケーターベースの Locator.TapAsync() を使用してください。詳細については、ロケーターについてお読みください。

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

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

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

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

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

使用例

await ElementHandle.TapAsync(options);

引数

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

      actionability チェックをバイパスするかどうか。デフォルトは 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? (optional)v1.11 で追加#

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

戻り値


TextContentAsync

v1.9 より前に追加 elementHandle.TextContentAsync
非推奨

代わりにロケーターベースの Locator.TextContentAsync() を使用してください。ロケーターの詳細はこちらをご覧ください。

node.textContent を返します。

使用例

await ElementHandle.TextContentAsync();

戻り値


TypeAsync

v1.9 より前に追加 elementHandle.TypeAsync
非推奨

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

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

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

使用例

引数

  • text string#

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

  • options ElementHandleTypeOptions? (オプション)

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

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

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

      非推奨

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

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

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

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

戻り値


UncheckAsync

v1.9 より前に追加 elementHandle.UncheckAsync
非推奨

代わりにロケーターベースの Locator.UncheckAsync() を使用してください。ロケーターの詳細はこちらをご覧ください。

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

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

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

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

使用例

await ElementHandle.UncheckAsync(options);

引数

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

      actionability チェックをバイパスするかどうか。デフォルトは false です。

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

      非推奨

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

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

    • Position Position? (optional)v1.11 で追加#

      • X [float]

      • Y [float]

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

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

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

    • Trial bool? (optional)v1.11 で追加#

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

戻り値


WaitForSelectorAsync

v1.9 より前に追加 elementHandle.WaitForSelectorAsync
非推奨

代わりに、可視性をアサートするウェブアサーションまたはロケーターベースの Locator.WaitForAsync() を使用してください。

State オプションを満たすセレクターによって指定された要素を返します。hidden または detached を待機している場合は null を返します。

selectorState オプション (DOM に表示/非表示になるか、可視/非表示になるかのいずれか) を満たすまで、要素ハンドルを基準にして待機します。メソッド呼び出しの時点で selector がすでに条件を満たしている場合、メソッドはすぐに戻ります。セレクターが Timeout ミリ秒間条件を満たさない場合、関数は例外をスローします。

使用例

await page.SetContentAsync("<div><span></span></div>");
var div = await page.QuerySelectorAsync("div");
// Waiting for the "span" selector relative to the div.
var span = await page.WaitForSelectorAsync("span", WaitForSelectorState.Attached);

このメソッドはナビゲーションをまたいでは機能しません。代わりに Page.WaitForSelectorAsync() を使用してください。

引数

  • selector string#

    クエリするセレクター。

  • options ElementHandleWaitForSelectorOptions? (オプション)

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

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

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

      true の場合、この呼び出しでは、セレクターが単一の要素に解決される必要があります。指定されたセレクターが複数の要素に解決される場合、呼び出しは例外をスローします。

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

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

戻り値