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

ElementHandle

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

非推奨

ElementHandle の使用は推奨されません。Locator オブジェクトと Web 優先の Assertion を代わりに使用してください。

href_element = page.query_selector("a")
href_element.click()

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

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

Locator と ElementHandle の違いは、ElementHandle が特定の要素を指すのに対し、Locator は要素の取得ロジックをキャプチャすることです。

以下の例では、ハンドルはページの特定の DOM 要素を指します。その要素のテキストが変更されたり、React によってまったく異なるコンポーネントがレンダリングされたりしても、ハンドルはその DOM 要素を指し続けます。これは予期しない動作につながる可能性があります。

handle = page.query_selector("text=Submit")
handle.hover()
handle.click()

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

locator = page.get_by_text("Submit")
locator.hover()
locator.click()

メソッド

bounding_box

v1.9 以前に追加 elementHandle.bounding_box

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

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

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

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

使用法

box = element_handle.bounding_box()
page.mouse.click(box["x"] + box["width"] / 2, box["y"] + box["height"] / 2)

戻り値

  • NoneType | Dict#
    • x float

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

    • y float

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

    • width float

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

    • height float

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


content_frame

v1.9 以前に追加 elementHandle.content_frame

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

使用法

element_handle.content_frame()

戻り値


owner_frame

v1.9 以前に追加 elementHandle.owner_frame

与えられた要素を含むフレームを返します。

使用法

element_handle.owner_frame()

戻り値


wait_for_element_state

v1.9 以前に追加 elementHandle.wait_for_element_state

要素が state を満たすまで待機し、満たした時点で戻ります。

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

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

使用法

element_handle.wait_for_element_state(state)
element_handle.wait_for_element_state(state, **kwargs)

引数

  • state "visible" | "hidden" | "stable" | "enabled" | "disabled" | "editable"#

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

  • timeout float (optional)#

    最大時間(ミリ秒)。デフォルトは 30000(30秒)です。0 を渡すとタイムアウトが無効になります。デフォルト値は browser_context.set_default_timeout() または page.set_default_timeout() メソッドを使用して変更できます。

戻り値


非推奨

check

v1.9 以前に追加 elementHandle.check
非推奨

代わりにロケーターベースの locator.check() を使用してください。ロケーターについて詳しくはこちら。

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

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

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

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

使用法

element_handle.check()
element_handle.check(**kwargs)

引数

  • force bool (optional)#

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

  • no_wait_after bool (optional)#

    非推奨

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

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

  • position Dict (optional)追加: v1.11#

    要素のパディングボックスの左上隅を基準に使用する点。指定されていない場合、要素の何らかの可視点を使用します。

  • timeout float (optional)#

    最大時間(ミリ秒)。デフォルトは 30000(30秒)です。0 を渡すとタイムアウトが無効になります。デフォルト値は browser_context.set_default_timeout() または page.set_default_timeout() メソッドを使用して変更できます。

  • trial bool (optional)追加: v1.11#

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

戻り値


click

v1.9 以前に追加 elementHandle.click
非推奨

代わりにロケーターベースの locator.click() を使用してください。ロケーターについて詳しくはこちら。

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

  1. force オプションが設定されていない限り、要素に対する actionability チェックを待ちます。
  2. 必要に応じて、要素をビューポート内にスクロールします。
  3. page.mouse を使用して、要素の中心、または指定された position をクリックします。
  4. no_wait_after オプションが設定されていない限り、開始されたナビゲーションが成功または失敗するまで待機します。

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

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

使用法

element_handle.click()
element_handle.click(**kwargs)

引数

  • button "left" | "right" | "middle" (optional)#

    デフォルトは left です。

  • click_count int (optional)#

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

  • delay float (optional)#

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

  • force bool (optional)#

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

  • modifiers List["Alt" | "Control" | "ControlOrMeta" | "Meta" | "Shift"] (optional)#

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

  • no_wait_after bool (optional)#

    非推奨

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

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

  • position Dict (optional)#

    要素のパディングボックスの左上隅を基準に使用する点。指定されていない場合、要素の何らかの可視点を使用します。

  • timeout float (optional)#

    最大時間(ミリ秒)。デフォルトは 30000(30秒)です。0 を渡すとタイムアウトが無効になります。デフォルト値は browser_context.set_default_timeout() または page.set_default_timeout() メソッドを使用して変更できます。

  • trial bool (optional)追加: v1.11#

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

戻り値


dblclick

v1.9 以前に追加 elementHandle.dblclick
非推奨

代わりにロケーターベースの locator.dblclick() を使用してください。ロケーターについて詳しくはこちら。

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

  1. force オプションが設定されていない限り、要素に対する actionability チェックを待ちます。
  2. 必要に応じて、要素をビューポート内にスクロールします。
  3. page.mouse を使用して、要素の中心、または指定された position をダブルクリックします。

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

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

注記

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

使用法

element_handle.dblclick()
element_handle.dblclick(**kwargs)

引数

  • button "left" | "right" | "middle" (optional)#

    デフォルトは left です。

  • delay float (optional)#

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

  • force bool (optional)#

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

  • modifiers List["Alt" | "Control" | "ControlOrMeta" | "Meta" | "Shift"] (optional)#

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

  • no_wait_after bool (optional)#

    非推奨

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

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

  • position Dict (optional)#

    要素のパディングボックスの左上隅を基準に使用する点。指定されていない場合、要素の何らかの可視点を使用します。

  • timeout float (optional)#

    最大時間(ミリ秒)。デフォルトは 30000(30秒)です。0 を渡すとタイムアウトが無効になります。デフォルト値は browser_context.set_default_timeout() または page.set_default_timeout() メソッドを使用して変更できます。

  • trial bool (optional)追加: v1.11#

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

戻り値


dispatch_event

v1.9 以前に追加 elementHandle.dispatch_event
非推奨

代わりにロケーターベースの locator.dispatch_event() を使用してください。ロケーターについて詳しくはこちら。

以下のスニペットは、要素に対して click イベントをディスパッチします。要素の表示状態に関わらず、click イベントがディスパッチされます。これは element.click() を呼び出すことと等価です。

使用法

element_handle.dispatch_event("click")

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

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

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

# note you can only create data_transfer in chromium and firefox
data_transfer = page.evaluate_handle("new DataTransfer()")
element_handle.dispatch_event("#source", "dragstart", {"dataTransfer": data_transfer})

引数

  • type str#

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

  • event_init EvaluationArgument (optional)#

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

戻り値


eval_on_selector

追加: v1.9 elementHandle.eval_on_selector
非推奨

このメソッドは、要素が actionability チェックをパスするのを待たないため、不安定なテストにつながる可能性があります。代わりに locator.evaluate()、その他の Locator ヘルパーメソッド、または Web 優先の Assertion を使用してください。

expression の戻り値を返します。

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

expressionPromise を返す場合、element_handle.eval_on_selector() はその Promise が解決されるのを待ち、その値を返します。

使用法

tweet_handle = page.query_selector(".tweet")
assert tweet_handle.eval_on_selector(".like", "node => node.innerText") == "100"
assert tweet_handle.eval_on_selector(".retweets", "node => node.innerText") == "10"

引数

  • selector str#

    クエリ対象のセレクター。

  • expression str#

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

  • arg EvaluationArgument (optional)#

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

戻り値


eval_on_selector_all

追加: v1.9 elementHandle.eval_on_selector_all
非推奨

ほとんどの場合、locator.evaluate_all()、その他の Locator ヘルパーメソッド、および Web 優先の Assertion の方が優れています。

expression の戻り値を返します。

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

expressionPromise を返す場合、element_handle.eval_on_selector_all() はその Promise が解決されるのを待ち、その値を返します。

使用法

<div class="feed">
<div class="tweet">Hello!</div>
<div class="tweet">Hi!</div>
</div>
feed_handle = page.query_selector(".feed")
assert feed_handle.eval_on_selector_all(".tweet", "nodes => nodes.map(n => n.innerText)") == ["hello!", "hi!"]

引数

  • selector str#

    クエリ対象のセレクター。

  • expression str#

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

  • arg EvaluationArgument (optional)#

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

戻り値


fill

v1.9 以前に追加 elementHandle.fill
非推奨

代わりにロケーターベースの locator.fill() を使用してください。ロケーターについて詳しくはこちら。

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

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

詳細なキーボードイベントを送信するには、locator.press_sequentially() を使用してください。

使用法

element_handle.fill(value)
element_handle.fill(value, **kwargs)

引数

  • value str#

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

  • force bool (optional)追加: v1.13#

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

  • no_wait_after bool (optional)#

    非推奨

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

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

  • timeout float (optional)#

    最大時間(ミリ秒)。デフォルトは 30000(30秒)です。0 を渡すとタイムアウトが無効になります。デフォルト値は browser_context.set_default_timeout() または page.set_default_timeout() メソッドを使用して変更できます。

戻り値


focus

v1.9 以前に追加 elementHandle.focus
非推奨

代わりにロケーターベースの locator.focus() を使用してください。ロケーターについて詳しくはこちら。

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

使用法

element_handle.focus()

戻り値


get_attribute

v1.9 以前に追加 elementHandle.get_attribute
非推奨

代わりにロケーターベースの locator.get_attribute() を使用してください。ロケーターについて詳しくはこちら。

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

使用法

element_handle.get_attribute(name)

引数

  • name str#

    値を取得する属性名。

戻り値


hover

v1.9 以前に追加 elementHandle.hover
非推奨

代わりにロケーターベースの locator.hover() を使用してください。ロケーターについて詳しくはこちら。

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

  1. force オプションが設定されていない限り、要素に対する actionability チェックを待ちます。
  2. 必要に応じて、要素をビューポート内にスクロールします。
  3. page.mouse を使用して、要素の中心、または指定された position にホバーします。

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

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

使用法

element_handle.hover()
element_handle.hover(**kwargs)

引数

  • force bool (optional)#

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

  • modifiers List["Alt" | "Control" | "ControlOrMeta" | "Meta" | "Shift"] (optional)#

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

  • no_wait_after bool (optional)追加: v1.28#

    非推奨

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

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

  • position Dict (optional)#

    要素のパディングボックスの左上隅を基準に使用する点。指定されていない場合、要素の何らかの可視点を使用します。

  • timeout float (optional)#

    最大時間(ミリ秒)。デフォルトは 30000(30秒)です。0 を渡すとタイムアウトが無効になります。デフォルト値は browser_context.set_default_timeout() または page.set_default_timeout() メソッドを使用して変更できます。

  • trial bool (optional)追加: v1.11#

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

戻り値


inner_html

v1.9 以前に追加 elementHandle.inner_html
非推奨

代わりにロケーターベースの locator.inner_html() を使用してください。ロケーターについて詳しくはこちら。

element.innerHTML を返します。

使用法

element_handle.inner_html()

戻り値


inner_text

v1.9 以前に追加 elementHandle.inner_text
非推奨

代わりにロケーターベースの locator.inner_text() を使用してください。ロケーターについて詳しくはこちら。

element.innerText を返します。

使用法

element_handle.inner_text()

戻り値


input_value

追加: v1.13 elementHandle.input_value
非推奨

代わりにロケーターベースの locator.input_value() を使用してください。ロケーターについて詳しくはこちら。

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

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

使用法

element_handle.input_value()
element_handle.input_value(**kwargs)

引数

戻り値


is_checked

v1.9 以前に追加 elementHandle.is_checked
非推奨

代わりにロケーターベースの locator.is_checked() を使用してください。ロケーターについて詳しくはこちら。

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

使用法

element_handle.is_checked()

戻り値


is_disabled

v1.9 以前に追加 elementHandle.is_disabled
非推奨

代わりにロケーターベースの locator.is_disabled() を使用してください。ロケーターについて詳しくはこちら。

要素が「無効」であるかどうかを返します。有効の反対です。

使用法

element_handle.is_disabled()

戻り値


is_editable

v1.9 以前に追加 elementHandle.is_editable
非推奨

代わりにロケーターベースの locator.is_editable() を使用してください。ロケーターについて詳しくはこちら。

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

使用法

element_handle.is_editable()

戻り値


is_enabled

v1.9 以前に追加 elementHandle.is_enabled
非推奨

代わりにロケーターベースの locator.is_enabled() を使用してください。ロケーターについて詳しくはこちら。

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

使用法

element_handle.is_enabled()

戻り値


is_hidden

v1.9 以前に追加 elementHandle.is_hidden
非推奨

代わりにロケーターベースの locator.is_hidden() を使用してください。ロケーターについて詳しくはこちら。

要素が「非表示」であるかどうかを返します。表示の反対です。

使用法

element_handle.is_hidden()

戻り値


is_visible

v1.9 以前に追加 elementHandle.is_visible
非推奨

代わりにロケーターベースの locator.is_visible() を使用してください。ロケーターについて詳しくはこちら。

要素が 表示可能であるかどうかを返します。

使用法

element_handle.is_visible()

戻り値


press

v1.9 以前に追加 elementHandle.press
非推奨

代わりにロケーターベースの locator.press() を使用してください。ロケーターについて詳しくはこちら。

要素にフォーカスし、keyboard.down()keyboard.up() を使用します。

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, ControlOrMeta

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

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

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

使用法

element_handle.press(key)
element_handle.press(key, **kwargs)

引数

  • key str#

    押すキーの名前、または生成する文字 (例: ArrowLefta)。

  • delay float (optional)#

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

  • no_wait_after bool (optional)#

    非推奨

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

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

  • timeout float (optional)#

    最大時間(ミリ秒)。デフォルトは 30000(30秒)です。0 を渡すとタイムアウトが無効になります。デフォルト値は browser_context.set_default_timeout() または page.set_default_timeout() メソッドを使用して変更できます。

戻り値


query_selector

追加: v1.9 elementHandle.query_selector
非推奨

代わりにロケーターベースの page.locator() を使用してください。ロケーターについて詳しくはこちら。

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

使用法

element_handle.query_selector(selector)

引数

  • selector str#

    クエリ対象のセレクター。

戻り値


query_selector_all

追加: v1.9 elementHandle.query_selector_all
非推奨

代わりにロケーターベースの page.locator() を使用してください。ロケーターについて詳しくはこちら。

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

使用法

element_handle.query_selector_all(selector)

引数

  • selector str#

    クエリ対象のセレクター。

戻り値


screenshot

v1.9 以前に追加 elementHandle.screenshot
非推奨

代わりにロケーターベースの locator.screenshot() を使用してください。ロケーターについて詳しくはこちら。

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

このメソッドは actionability チェックを待ち、スクリーンショットを撮る前に要素をビューポート内にスクロールします。要素が DOM からデタッチされた場合、このメソッドはエラーをスローします。

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

使用法

element_handle.screenshot()
element_handle.screenshot(**kwargs)

引数

  • animations "disabled" | "allow" (optional)#

    "disabled" に設定すると、CSS アニメーション、CSS トランジション、Web アニメーションが停止します。アニメーションは継続時間に応じて異なる処理を受けます

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

    デフォルトは "allow" で、アニメーションは変更されません。

  • caret "hide" | "initial" (optional)#

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

  • mask List[Locator] (optional)#

    スクリーンショット撮影時にマスクされるロケーターを指定します。マスクされた要素は、そのバウンディングボックスを完全に覆うピンク色のボックス #FF00FFmask_color でカスタマイズ可能)で重ねられます。マスクは非表示の要素にも適用されます。可視要素のみのマッチングを参照して、それを無効にすることができます。

  • mask_color str (optional)追加: v1.35#

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

  • omit_background bool (optional)#

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

  • path Union[str, pathlib.Path] (optional)#

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

  • quality int (optional)#

    画像の品質(0~100)。png 画像には適用されません。

  • scale "css" | "device" (optional)#

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

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

  • style str (optional)追加: v1.41#

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

  • timeout float (optional)#

    最大時間(ミリ秒)。デフォルトは 30000(30秒)です。0 を渡すとタイムアウトが無効になります。デフォルト値は browser_context.set_default_timeout() または page.set_default_timeout() メソッドを使用して変更できます。

  • type "png" | "jpeg" (optional)#

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

戻り値


scroll_into_view_if_needed

v1.9 以前に追加 elementHandle.scroll_into_view_if_needed
非推奨

代わりにロケーターベースの locator.scroll_into_view_if_needed() を使用してください。ロケーターについて詳しくはこちら。

このメソッドは actionability チェックを待ち、IntersectionObserverratio で定義されているように完全に表示されている場合を除き、要素をビューポート内にスクロールしようとします。

elementHandle が Document または ShadowRoot に 接続されていない 要素を指している場合、例外をスローします。

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

使用法

element_handle.scroll_into_view_if_needed()
element_handle.scroll_into_view_if_needed(**kwargs)

引数

戻り値


select_option

v1.9 以前に追加 elementHandle.select_option
非推奨

代わりにロケーターベースの locator.select_option() を使用してください。ロケーターについて詳しくはこちら。

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

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

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

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

使用法

# Single selection matching the value or label
handle.select_option("blue")
# single selection matching both the label
handle.select_option(label="blue")
# multiple selection
handle.select_option(value=["red", "green", "blue"])

引数

  • force bool (optional)追加: v1.13#

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

  • no_wait_after bool (optional)#

    非推奨

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

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

  • timeout float (optional)#

    最大時間(ミリ秒)。デフォルトは 30000(30秒)です。0 を渡すとタイムアウトが無効になります。デフォルト値は browser_context.set_default_timeout() または page.set_default_timeout() メソッドを使用して変更できます。

  • element ElementHandle | List[ElementHandle] (optional)#

    選択するオプション要素。オプション。

  • index int | List[int] (optional)#

    インデックスで選択するオプション。オプション。

  • value str | List[str] (optional)#

    値で選択するオプション。<select>multiple 属性がある場合、指定されたすべてのオプションが選択されます。それ以外の場合、渡されたオプションのいずれかに一致する最初のオプションのみが選択されます。オプション。

  • label str | List[str] (optional)#

    ラベルで選択するオプション。<select>multiple 属性がある場合、指定されたすべてのオプションが選択されます。それ以外の場合、渡されたオプションのいずれかに一致する最初のオプションのみが選択されます。オプション。

戻り値


select_text

v1.9 以前に追加 elementHandle.select_text
非推奨

代わりにロケーターベースの locator.select_text() を使用してください。ロケーターについて詳しくはこちら。

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

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

使用法

element_handle.select_text()
element_handle.select_text(**kwargs)

引数

  • force bool (optional)追加: v1.13#

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

  • timeout float (optional)#

    最大時間(ミリ秒)。デフォルトは 30000(30秒)です。0 を渡すとタイムアウトが無効になります。デフォルト値は browser_context.set_default_timeout() または page.set_default_timeout() メソッドを使用して変更できます。

戻り値


set_checked

追加: v1.15 elementHandle.set_checked
非推奨

代わりにロケーターベースの locator.set_checked() を使用してください。ロケーターについて詳しくはこちら。

このメソッドは、以下の手順を実行して要素をチェックまたはアンチェックします。

  1. 要素がチェックボックスまたはラジオ入力であることを確認します。そうでない場合、このメソッドは例外をスローします。
  2. 要素がすでに適切なチェック状態である場合、このメソッドはすぐに戻ります。
  3. force オプションが設定されていない限り、一致する要素に対する actionability チェックを待ちます。チェック中に要素がデタッチされた場合、アクション全体が再試行されます。
  4. 必要に応じて、要素をビューポート内にスクロールします。
  5. page.mouse を使用して、要素の中心をクリックします。
  6. 要素が現在チェックされているか、またはチェックされていないことを確認します。そうでない場合、このメソッドは例外をスローします。

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

使用法

element_handle.set_checked(checked)
element_handle.set_checked(checked, **kwargs)

引数

  • checked bool#

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

  • force bool (optional)#

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

  • no_wait_after bool (optional)#

    非推奨

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

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

  • position Dict (optional)#

    要素のパディングボックスの左上隅を基準に使用する点。指定されていない場合、要素の何らかの可視点を使用します。

  • timeout float (optional)#

    最大時間(ミリ秒)。デフォルトは 30000(30秒)です。0 を渡すとタイムアウトが無効になります。デフォルト値は browser_context.set_default_timeout() または page.set_default_timeout() メソッドを使用して変更できます。

  • trial bool (optional)#

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

戻り値


set_input_files

v1.9 以前に追加 elementHandle.set_input_files
非推奨

代わりにロケーターベースの locator.set_input_files() を使用してください。ロケーターについて詳しくはこちら。

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

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

使用法

element_handle.set_input_files(files)
element_handle.set_input_files(files, **kwargs)

引数

戻り値


tap

v1.9 以前に追加 elementHandle.tap
非推奨

代わりにロケーターベースの locator.tap() を使用してください。ロケーターについて詳しくはこちら。

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

  1. force オプションが設定されていない限り、要素に対する actionability チェックを待ちます。
  2. 必要に応じて、要素をビューポート内にスクロールします。
  3. page.touchscreen を使用して、要素の中心、または指定された position をタップします。

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

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

注記

elementHandle.tap() を使用するには、ブラウザコンテキストの hasTouch オプションを true に設定する必要があります。

使用法

element_handle.tap()
element_handle.tap(**kwargs)

引数

  • force bool (optional)#

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

  • modifiers List["Alt" | "Control" | "ControlOrMeta" | "Meta" | "Shift"] (optional)#

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

  • no_wait_after bool (optional)#

    非推奨

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

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

  • position Dict (optional)#

    要素のパディングボックスの左上隅を基準に使用する点。指定されていない場合、要素の何らかの可視点を使用します。

  • timeout float (optional)#

    最大時間(ミリ秒)。デフォルトは 30000(30秒)です。0 を渡すとタイムアウトが無効になります。デフォルト値は browser_context.set_default_timeout() または page.set_default_timeout() メソッドを使用して変更できます。

  • trial bool (optional)追加: v1.11#

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

戻り値


text_content

v1.9 以前に追加 elementHandle.text_content
非推奨

代わりにロケーターベースの locator.text_content() を使用してください。ロケーターについて詳しくはこちら。

node.textContent を返します。

使用法

element_handle.text_content()

戻り値


type

v1.9 以前に追加 elementHandle.type
非推奨

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

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

ControlArrowDown のような特殊キーを押すには、element_handle.press() を使用してください。

使用法

引数

  • text str#

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

  • delay float (optional)#

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

  • no_wait_after bool (optional)#

    非推奨

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

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

  • timeout float (optional)#

    最大時間(ミリ秒)。デフォルトは 30000(30秒)です。0 を渡すとタイムアウトが無効になります。デフォルト値は browser_context.set_default_timeout() または page.set_default_timeout() メソッドを使用して変更できます。

戻り値


uncheck

v1.9 以前に追加 elementHandle.uncheck
非推奨

代わりにロケーターベースの locator.uncheck() を使用してください。ロケーターについて詳しくはこちら。

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

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

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

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

使用法

element_handle.uncheck()
element_handle.uncheck(**kwargs)

引数

  • force bool (optional)#

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

  • no_wait_after bool (optional)#

    非推奨

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

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

  • position Dict (optional)追加: v1.11#

    要素のパディングボックスの左上隅を基準に使用する点。指定されていない場合、要素の何らかの可視点を使用します。

  • timeout float (optional)#

    最大時間(ミリ秒)。デフォルトは 30000(30秒)です。0 を渡すとタイムアウトが無効になります。デフォルト値は browser_context.set_default_timeout() または page.set_default_timeout() メソッドを使用して変更できます。

  • trial bool (optional)追加: v1.11#

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

戻り値


wait_for_selector

v1.9 以前に追加 elementHandle.wait_for_selector
非推奨

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

state オプションを満たすとき、セレクターで指定された要素を返します。hidden または detached を待機している場合は null を返します。

要素ハンドルに相対的なセレクターstateオプション (DOMへの出現/消滅、または表示/非表示) を満たすまで待機します。メソッド呼び出し時点でセレクターが既に条件を満たしている場合、メソッドは直ちに返ります。timeout ミリ秒間セレクターが条件を満たさない場合、関数は例外をスローします。

使用法

page.set_content("<div><span></span></div>")
div = page.query_selector("div")
# waiting for the "span" selector relative to the div.
span = div.wait_for_selector("span", state="attached")
注記

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

引数

  • selector str#

    クエリ対象のセレクター。

  • state "attached" | "detached" | "visible" | "hidden" (オプション)#

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

    • 'attached' - 要素がDOMに存在することを待ちます。
    • 'detached' - 要素がDOMに存在しないことを待ちます。
    • 'visible' - 要素が空でないバウンディングボックスを持ち、visibility:hidden でないことを待ちます。内容がない要素、または display:none の要素は空のバウンディングボックスを持ち、可視とは見なされないことに注意してください。
    • 'hidden' - 要素がDOMからデタッチされるか、空のバウンディングボックスを持つか、または visibility:hidden であることを待ちます。これは 'visible' オプションとは逆です。
  • strict bool (オプション)追加: v1.15#

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

  • timeout float (オプション)#

    最大時間(ミリ秒)。デフォルトは 30000(30秒)です。0 を渡すとタイムアウトが無効になります。デフォルト値は browser_context.set_default_timeout() または page.set_default_timeout() メソッドを使用して変更できます。

戻り値