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

Page

Page は、Browser 内の単一のタブ、または Chromium の拡張機能のバックグラウンドページを操作するためのメソッドを提供します。1 つの Browser インスタンスは、複数の Page インスタンスを持つことができます。

この例では、ページを作成し、URL に移動して、スクリーンショットを保存します。

from playwright.sync_api import sync_playwright, Playwright

def run(playwright: Playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)

Page クラスは、Node.js ネイティブの EventEmitter メソッド (ononceremoveListener など) を使用して処理できるさまざまなイベント (下記参照) を発行します。

この例では、単一ページの load イベントのメッセージをログに記録します。

page.once("load", lambda: print("page loaded!"))

イベントの登録を解除するには、removeListener メソッドを使用します。

def log_request(intercepted_request):
print("a request was made:", intercepted_request.url)
page.on("request", log_request)
# sometime later...
page.remove_listener("request", log_request)

メソッド

add_init_script

v1.9 より前に追加 page.add_init_script

次のいずれかのシナリオで評価されるスクリプトを追加します。

  • ページがナビゲートされるたび。
  • 子フレームがアタッチまたはナビゲートされるたび。この場合、スクリプトは新しくアタッチされたフレームのコンテキストで評価されます。

スクリプトは、ドキュメントが作成された後、そのスクリプトが実行される前に評価されます。これは、JavaScript 環境を修正する (例: Math.random をシードする) のに役立ちます。

使用例

ページが読み込まれる前に Math.random をオーバーライドする例

// preload.js
Math.random = () => 42;
# in your playwright script, assuming the preload.js file is in same directory
page.add_init_script(path="./preload.js")
注記

browser_context.add_init_script() および page.add_init_script() を介してインストールされた複数のスクリプトの評価順序は定義されていません。

引数

  • path Union[str, pathlib.Path] (オプション)#

    JavaScript ファイルへのパス。path が相対パスの場合、現在の作業ディレクトリからの相対パスとして解決されます。オプション。

  • script str (オプション)#

    ブラウザコンテキスト内のすべてのページで評価されるスクリプト。オプション。

戻り値


add_locator_handler

追加: v1.42 page.add_locator_handler

ウェブページをテストしていると、「サインアップ」ダイアログのような予期しないオーバーレイが表示され、ボタンをクリックするなど、自動化したいアクションをブロックすることがあります。これらのオーバーレイは、常に同じように、または同時に表示されるとは限らず、自動テストで処理するのが難しい場合があります。

このメソッドを使用すると、オーバーレイが可視であることを検出したときにアクティブになる特別な関数 (ハンドラーと呼ばれる) を設定できます。ハンドラーの役割は、オーバーレイを削除し、オーバーレイが存在しなかったかのようにテストを続行できるようにすることです。

留意すべき点

  • オーバーレイが予測可能に表示される場合は、page.add_locator_handler() を使用する代わりに、テストで明示的にオーバーレイを待機し、通常のテストフローの一部としてそれを閉じることが推奨されます。
  • Playwright は、アクション実行可能性チェックが必要なアクションを実行または再試行する前、または自動待機アサーションチェックを実行する前に、毎回オーバーレイをチェックします。オーバーレイが可視の場合、Playwright は最初にハンドラーを呼び出し、その後アクション/アサーションを続行します。ハンドラーは、アクション/アサーションを実行した場合にのみ呼び出されることに注意してください。オーバーレイが可視になっても、アクションを実行しない場合、ハンドラーはトリガーされません。
  • ハンドラーの実行後、Playwright は、ハンドラーをトリガーしたオーバーレイがもう可視でないことを確認します。no_wait_after を使用して、この動作をオプトアウトできます。
  • ハンドラーの実行時間は、ハンドラーを実行したアクション/アサーションのタイムアウトにカウントされます。ハンドラーに時間がかかりすぎると、タイムアウトが発生する可能性があります。
  • 複数のハンドラーを登録できます。ただし、一度に実行されるハンドラーは 1 つだけです。ハンドラー内のアクションが別のハンドラーに依存しないようにしてください。
警告

ハンドラーを実行すると、テスト中にページの状態が変更されます。たとえば、現在フォーカスされている要素が変更され、マウスが移動します。ハンドラーの後に実行されるアクションが自己完結型であり、フォーカスとマウスの状態が変更されないことに依存しないようにしてください。

たとえば、locator.focus() の後に keyboard.press() を呼び出すテストを考えてみましょう。ハンドラーがこれら 2 つのアクションの間にボタンをクリックすると、フォーカスされている要素が間違っている可能性が高く、キープレスが予期しない要素で発生します。この問題を回避するには、代わりに locator.press() を使用してください。

別の例は、一連のマウスアクションで、mouse.move() の後に mouse.down() が続く場合です。ここでも、ハンドラーがこれら 2 つのアクションの間に実行されると、マウスダウン中にマウスの位置が間違っています。ハンドラーによって状態が変更されないことに依存しない locator.click() のような自己完結型のアクションを優先してください。

使用例

表示されたときに「ニュースレターにサインアップ」ダイアログを閉じる例

# Setup the handler.
def handler():
page.get_by_role("button", name="No thanks").click()
page.add_locator_handler(page.get_by_text("Sign up to the newsletter"), handler)

# Write the test as usual.
page.goto("https://example.com")
page.get_by_role("button", name="Start here").click()

表示されたときに「セキュリティの詳細を確認してください」ページをスキップする例

# Setup the handler.
def handler():
page.get_by_role("button", name="Remind me later").click()
page.add_locator_handler(page.get_by_text("Confirm your security details"), handler)

# Write the test as usual.
page.goto("https://example.com")
page.get_by_role("button", name="Start here").click()

すべてのアクション実行可能性チェックでカスタムコールバックを使用する例。常に可視である <body> ロケーターを使用するため、ハンドラーはすべてのアクション実行可能性チェックの前に呼び出されます。no_wait_after を指定することが重要です。これは、ハンドラーが <body> 要素を非表示にしないためです。

# Setup the handler.
def handler():
page.evaluate("window.removeObstructionsForTestIfNeeded()")
page.add_locator_handler(page.locator("body"), handler, no_wait_after=True)

# Write the test as usual.
page.goto("https://example.com")
page.get_by_role("button", name="Start here").click()

ハンドラーは、元のロケーターを引数として取ります。times を設定することで、呼び出し回数後にハンドラーを自動的に削除することもできます。

def handler(locator):
locator.click()
page.add_locator_handler(page.get_by_label("Close"), handler, times=1)

引数

  • locator Locator#

    ハンドラーをトリガーするロケーター。

  • handler Callable[Locator]:Promise[Any]#

    locator が表示されたら実行される関数。この関数は、クリックなどのアクションをブロックする要素を取り除く必要があります。

  • no_wait_after bool (オプション)追加: v1.44#

    デフォルトでは、ハンドラーを呼び出した後、Playwright はオーバーレイが非表示になるまで待機し、その後でのみ Playwright はハンドラーをトリガーしたアクション/アサーションを続行します。このオプションを使用すると、オーバーレイがハンドラーの実行後も表示されたままになるように、この動作をオプトアウトできます。

  • times int (オプション)追加: v1.44#

    このハンドラーを呼び出す最大回数を指定します。デフォルトでは無制限です。

戻り値


add_script_tag

v1.9 より前に追加 page.add_script_tag

目的の URL またはコンテンツを使用して、<script> タグをページに追加します。スクリプトの onload が発生したとき、またはスクリプトコンテンツがフレームに挿入されたときに、追加されたタグを返します。

使用例

page.add_script_tag()
page.add_script_tag(**kwargs)

引数

  • content str (オプション)#

    フレームに挿入される生の JavaScript コンテンツ。

  • path Union[str, pathlib.Path] (オプション)#

    フレームに挿入される JavaScript ファイルへのパス。path が相対パスの場合、現在の作業ディレクトリからの相対パスとして解決されます。

  • type str (オプション)#

    スクリプトタイプ。JavaScript ES6 モジュールをロードするには、「module」を使用します。詳細については、script を参照してください。

  • url str (オプション)#

    追加するスクリプトの URL。

戻り値


add_style_tag

v1.9 より前に追加 page.add_style_tag

目的の URL を持つ <link rel="stylesheet"> タグ、またはコンテンツを持つ <style type="text/css"> タグをページに追加します。スタイルシートの onload が発生したとき、または CSS コンテンツがフレームに挿入されたときに、追加されたタグを返します。

使用例

page.add_style_tag()
page.add_style_tag(**kwargs)

引数

  • content str (オプション)#

    フレームに挿入される生の CSS コンテンツ。

  • path Union[str, pathlib.Path] (オプション)#

    フレームに挿入される CSS ファイルへのパス。path が相対パスの場合、現在の作業ディレクトリからの相対パスとして解決されます。

  • url str (オプション)#

    <link> タグの URL。

戻り値


bring_to_front

v1.9 より前に追加 page.bring_to_front

ページを前面に表示します (タブをアクティブ化)。

使用例

page.bring_to_front()

戻り値


close

v1.9 より前に追加 page.close

run_before_unloadfalse の場合、unload ハンドラーを実行せずに、ページが閉じられるのを待ちます。run_before_unloadtrue の場合、このメソッドは unload ハンドラーを実行しますが、ページが閉じるのを待機しません

デフォルトでは、page.close()beforeunload ハンドラーを実行しません

注記

run_before_unload が true として渡された場合、beforeunload ダイアログが召喚される可能性があり、page.on("dialog") イベントを介して手動で処理する必要があります。

使用例

page.close()
page.close(**kwargs)

引数

  • reason str (オプション)追加: v1.40#

    ページを閉じることによって中断された操作に報告される理由。

  • run_before_unload bool (オプション)#

    デフォルトは false です。before unload ページハンドラーを実行するかどうか。

戻り値


content

v1.9 より前に追加 page.content

ドキュメントタイプを含む、ページの完全な HTML コンテンツを取得します。

使用例

page.content()

戻り値


drag_and_drop

追加: v1.13 page.drag_and_drop

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

使用例

page.drag_and_drop("#source", "#target")
# or specify exact positions relative to the top-left corners of the elements:
page.drag_and_drop(
"#source",
"#target",
source_position={"x": 34, "y": 7},
target_position={"x": 10, "y": 20}
)

引数

  • source str#

    ドラッグする要素を検索するセレクター。セレクターを満たす要素が複数ある場合は、最初に使用されるものが使用されます。

  • target str#

    ドロップ先の要素を検索するセレクター。セレクターを満たす要素が複数ある場合は、最初に使用されるものが使用されます。

  • force bool (オプション)#

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

  • no_wait_after bool (オプション)#

    非推奨

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

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

  • source_position Dict (オプション)追加: v1.14#

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

  • strict bool (オプション)追加: v1.14#

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

  • target_position Dict (オプション)追加: v1.14#

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

  • timeout float (オプション)#

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

  • trial bool (オプション)#

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

戻り値


emulate_media

v1.9 より前に追加 page.emulate_media

このメソッドは、media 引数を使用して CSS メディアタイプ を変更し、colorScheme 引数を使用して 'prefers-colors-scheme' メディア機能を変更します。

使用例

page.evaluate("matchMedia('screen').matches")
# → True
page.evaluate("matchMedia('print').matches")
# → False

page.emulate_media(media="print")
page.evaluate("matchMedia('screen').matches")
# → False
page.evaluate("matchMedia('print').matches")
# → True

page.emulate_media()
page.evaluate("matchMedia('screen').matches")
# → True
page.evaluate("matchMedia('print').matches")
# → False
page.emulate_media(color_scheme="dark")
page.evaluate("matchMedia('(prefers-color-scheme: dark)').matches")
# → True
page.evaluate("matchMedia('(prefers-color-scheme: light)').matches")
# → False

引数

  • color_scheme "light" | "dark" | "no-preference" | "null" (オプション)追加: v1.9#

    prefers-colors-scheme メディア機能をエミュレートします。サポートされている値は 'light' および 'dark' です。'Null' を渡すと、カラースキームのエミュレーションが無効になります。'no-preference' は非推奨です。

  • contrast "no-preference" | "more" | "null" (オプション)追加: v1.51#

  • forced_colors "active" | "none" | "null" (オプション)追加: v1.15#

  • media "screen" | "print" | "null" (オプション)追加: v1.9#

    ページの CSS メディアタイプを変更します。許可される値は 'Screen''Print''Null' のみです。'Null' を渡すと、CSS メディアのエミュレーションが無効になります。

  • reduced_motion "reduce" | "no-preference" | "null" (オプション)追加: v1.12#

    'prefers-reduced-motion' メディア機能をエミュレートします。サポートされている値は 'reduce''no-preference' です。null を渡すと、モーション削減のエミュレーションが無効になります。

戻り値


evaluate

v1.9 より前に追加 page.evaluate

expression 呼び出しの値を返します。

page.evaluate() に渡された関数が Promise を返す場合、page.evaluate() は Promise が解決されるのを待って、その値を返します。

page.evaluate() に渡された関数が シリアライズ可能でない値を返す場合、page.evaluate()undefined に解決されます。Playwright は、JSON でシリアライズできない追加の値 (-0NaNInfinity-Infinity) の転送もサポートしています。

使用例

expression に引数を渡す

result = page.evaluate("([x, y]) => Promise.resolve(x * y)", [7, 8])
print(result) # prints "56"

関数の代わりに文字列を渡すこともできます

print(page.evaluate("1 + 2")) # prints "3"
x = 10
print(page.evaluate(f"1 + {x}")) # prints "11"

ElementHandle インスタンスは、page.evaluate() の引数として渡すことができます

body_handle = page.evaluate("document.body")
html = page.evaluate("([body, suffix]) => body.innerHTML + suffix", [body_handle, "hello"])
body_handle.dispose()

引数

  • expression str#

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

  • arg EvaluationArgument (オプション)#

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

戻り値


evaluate_handle

v1.9 より前に追加 page.evaluate_handle

expression 呼び出しの値を JSHandle として返します。

page.evaluate()page.evaluate_handle() の唯一の違いは、page.evaluate_handle()JSHandle を返すことです。

page.evaluate_handle() に渡された関数が Promise を返す場合、page.evaluate_handle() は Promise が解決されるのを待って、その値を返します。

使用例

a_window_handle = page.evaluate_handle("Promise.resolve(window)")
a_window_handle # handle for the window object.

関数の代わりに文字列を渡すこともできます

a_handle = page.evaluate_handle("document") # handle for the "document"

JSHandle インスタンスは、page.evaluate_handle() の引数として渡すことができます

a_handle = page.evaluate_handle("document.body")
result_handle = page.evaluate_handle("body => body.innerHTML", a_handle)
print(result_handle.json_value())
result_handle.dispose()

引数

  • expression str#

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

  • arg EvaluationArgument (オプション)#

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

戻り値


expect_console_message

追加: v1.9 page.expect_console_message

アクションを実行し、ConsoleMessage がページに記録されるのを待ちます。predicate が指定されている場合、ConsoleMessage 値を predicate 関数に渡し、predicate(message) が真の値を返すのを待ちます。page.on("console") イベントが発生する前にページが閉じられた場合、エラーがスローされます。

使用例

page.expect_console_message()
page.expect_console_message(**kwargs)

引数

  • predicate Callable[ConsoleMessage]:bool (オプション)#

    ConsoleMessage オブジェクトを受け取り、待機が解決されるべきときに真の値に解決されます。

  • timeout float (オプション)#

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

戻り値


expect_download

追加: v1.9 page.expect_download

アクションを実行し、新しい Download を待ちます。predicate が指定されている場合、Download 値を predicate 関数に渡し、predicate(download) が真の値を返すのを待ちます。ダウンロードイベントが発生する前にページが閉じられた場合、エラーがスローされます。

使用例

page.expect_download()
page.expect_download(**kwargs)

引数

  • predicate Callable[Download]:bool (オプション)#

    指定されたDownloadオブジェクトを受け取り、待機を解決すべき場合に真偽値を返します。

  • timeout float (オプション)#

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

戻り値


expect_event

v1.9 より前に追加 page.expect_event

イベントが発火するのを待ち、その値を述語関数に渡します。述語が真偽値を返すと解決されます。イベントが発火する前にページが閉じられた場合、エラーをスローします。イベントデータ値を返します。

使用例

with page.expect_event("framenavigated") as event_info:
page.get_by_role("button")
frame = event_info.value

引数

  • event str#

    イベント名。通常*.on(event)に渡されるものと同じです。

  • predicate Callable (オプション)#

    イベントデータを受け取り、待機を解決すべき場合に真偽値を返します。

  • timeout float (オプション)#

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

戻り値


expect_file_chooser

追加: v1.9 page.expect_file_chooser

アクションを実行し、新しいFileChooserが作成されるのを待ちます。述語が提供されている場合、FileChooser値をpredicate関数に渡し、predicate(fileChooser)が真偽値を返すのを待ちます。ファイルチューザーが開かれる前にページが閉じられた場合、エラーをスローします。

使用例

page.expect_file_chooser()
page.expect_file_chooser(**kwargs)

引数

  • predicate Callable[FileChooser]:bool (オプション)#

    指定されたFileChooserオブジェクトを受け取り、待機を解決すべき場合に真偽値を返します。

  • timeout float (オプション)#

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

戻り値


expect_popup

追加: v1.9 page.expect_popup

アクションを実行し、ポップアップPageを待ちます。述語が提供されている場合、[Popup]値をpredicate関数に渡し、predicate(page)が真偽値を返すのを待ちます。ポップアップイベントが発火する前にページが閉じられた場合、エラーをスローします。

使用例

page.expect_popup()
page.expect_popup(**kwargs)

引数

  • predicate Callable[Page]:bool (オプション)#

    指定されたPageオブジェクトを受け取り、待機を解決すべき場合に真偽値を返します。

  • timeout float (オプション)#

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

戻り値


expect_request

v1.9 より前に追加 page.expect_request

一致するリクエストを待ち、それを返します。イベントの詳細については、イベントの待機を参照してください。

使用例

with page.expect_request("http://example.com/resource") as first:
page.get_by_text("trigger request").click()
first_request = first.value

# or with a lambda
with page.expect_request(lambda request: request.url == "http://example.com" and request.method == "get") as second:
page.get_by_text("trigger request").click()
second_request = second.value

引数

  • url_or_predicate str | Pattern | Callable[Request]:bool#

    リクエストURL文字列、正規表現、またはRequestオブジェクトを受け取る述語。コンテキストオプション経由でbase_urlが提供され、渡されたURLがパスの場合、new URL()コンストラクタを介してマージされます。

  • timeout float (オプション)#

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

戻り値


expect_request_finished

追加: v1.12 page.expect_request_finished

アクションを実行し、Requestのロードが完了するのを待ちます。述語が提供されている場合、Request値をpredicate関数に渡し、predicate(request)が真偽値を返すのを待ちます。page.on("requestfinished")イベントが発火する前にページが閉じられた場合、エラーをスローします。

使用例

page.expect_request_finished()
page.expect_request_finished(**kwargs)

引数

  • predicate Callable[Request]:bool (オプション)#

    指定されたRequestオブジェクトを受け取り、待機を解決すべき場合に真偽値を返します。

  • timeout float (オプション)#

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

戻り値


expect_response

v1.9 より前に追加 page.expect_response

一致するレスポンスを返します。イベントの詳細については、イベントの待機を参照してください。

使用例

with page.expect_response("https://example.com/resource") as response_info:
page.get_by_text("trigger response").click()
response = response_info.value
return response.ok

# or with a lambda
with page.expect_response(lambda response: response.url == "https://example.com" and response.status == 200 and response.request.method == "get") as response_info:
page.get_by_text("trigger response").click()
response = response_info.value
return response.ok

引数

  • url_or_predicate str | Pattern | Callable[Response]:bool#

    リクエストURL文字列、正規表現、またはResponseオブジェクトを受け取る述語。コンテキストオプション経由でbase_urlが提供され、渡されたURLがパスの場合、new URL()コンストラクタを介してマージされます。

  • timeout float (オプション)#

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

戻り値


expect_websocket

追加: v1.9 page.expect_websocket

アクションを実行し、新しいWebSocketを待ちます。述語が提供されている場合、WebSocket値をpredicate関数に渡し、predicate(webSocket)が真偽値を返すのを待ちます。WebSocketイベントが発火する前にページが閉じられた場合、エラーをスローします。

使用例

page.expect_websocket()
page.expect_websocket(**kwargs)

引数

  • predicate Callable[WebSocket]:bool (オプション)#

    指定されたWebSocketオブジェクトを受け取り、待機を解決すべき場合に真偽値を返します。

  • timeout float (オプション)#

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

戻り値


expect_worker

追加: v1.9 page.expect_worker

アクションを実行し、新しいWorkerを待ちます。述語が提供されている場合、Worker値をpredicate関数に渡し、predicate(worker)が真偽値を返すのを待ちます。Workerイベントが発火する前にページが閉じられた場合、エラーをスローします。

使用例

page.expect_worker()
page.expect_worker(**kwargs)

引数

  • predicate Callable[Worker]:bool (オプション)#

    指定されたWorkerオブジェクトを受け取り、待機を解決すべき場合に真偽値を返します。

  • timeout float (オプション)#

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

戻り値


expose_binding

v1.9 より前に追加 page.expose_binding

このメソッドは、このページのすべてのフレームのwindowオブジェクトに、nameという名前の関数を追加します。呼び出されると、この関数はcallbackを実行し、callbackの戻り値に解決されるPromiseを返します。callbackPromiseを返す場合、それはawaitされます。

callback関数の最初の引数には、呼び出し元に関する情報{ browserContext: BrowserContext, page: Page, frame: Frame }が含まれています。

コンテキスト全体にわたるバージョンについては、browser_context.expose_binding()を参照してください。

注記

page.expose_binding()を介してインストールされた関数は、ナビゲーション後も存続します。

使用例

ページURLをページ内のすべてのフレームに公開する例

from playwright.sync_api import sync_playwright, Playwright

def run(playwright: Playwright):
webkit = playwright.webkit
browser = webkit.launch(headless=False)
context = browser.new_context()
page = context.new_page()
page.expose_binding("pageURL", lambda source: source["page"].url)
page.set_content("""
<script>
async function onClick() {
document.querySelector('div').textContent = await window.pageURL();
}
</script>
<button onclick="onClick()">Click me</button>
<div></div>
""")
page.click("button")

with sync_playwright() as playwright:
run(playwright)

引数

  • name str#

    windowオブジェクト上の関数の名前。

  • callback Callable#

    Playwrightのコンテキストで呼び出されるコールバック関数。

  • handle bool (オプション)#

    非推奨

    このオプションは将来削除される予定です。

    引数を値渡しではなくハンドルとして渡すかどうか。ハンドルを渡す場合、1つの引数のみがサポートされます。値渡しの場合、複数の引数がサポートされます。

戻り値


expose_function

v1.9 より前に追加 page.expose_function

このメソッドは、ページ内のすべてのフレームのwindowオブジェクトに、nameという名前の関数を追加します。呼び出されると、この関数はcallbackを実行し、callbackの戻り値に解決されるPromiseを返します。

callbackPromiseを返す場合、それはawaitされます。

コンテキスト全体に公開される関数については、browser_context.expose_function()を参照してください。

注記

page.expose_function()を介してインストールされた関数は、ナビゲーション後も存続します。

使用例

sha256関数をページに追加する例

import hashlib
from playwright.sync_api import sync_playwright, Playwright

def sha256(text):
m = hashlib.sha256()
m.update(bytes(text, "utf8"))
return m.hexdigest()


def run(playwright: Playwright):
webkit = playwright.webkit
browser = webkit.launch(headless=False)
page = browser.new_page()
page.expose_function("sha256", sha256)
page.set_content("""
<script>
async function onClick() {
document.querySelector('div').textContent = await window.sha256('PLAYWRIGHT');
}
</script>
<button onclick="onClick()">Click me</button>
<div></div>
""")
page.click("button")

with sync_playwright() as playwright:
run(playwright)

引数

  • name str#

    windowオブジェクト上の関数の名前

  • callback Callable#

    Playwrightのコンテキストで呼び出されるコールバック関数。

戻り値


frame

v1.9 より前に追加 page.frame

指定された条件に一致するフレームを返します。nameまたはurlのいずれかを指定する必要があります。

使用例

frame = page.frame(name="frame-name")
frame = page.frame(url=r".*domain.*")

引数

  • name str (オプション)#

    iframename属性で指定されたフレーム名。オプション。

  • url str | Pattern | Callable[URL]:bool (オプション)#

    グロブパターン、正規表現パターン、またはフレームのurlURLオブジェクトとして受け取る述語。オプション。

戻り値


frame_locator

追加: v1.17 page.frame_locator

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

使用例

次のスニペットは、<iframe id="my-frame">のようなID my-frameを持つiframe内のテキスト「Submit」を持つ要素を特定します。

locator = page.frame_locator("#my-iframe").get_by_text("Submit")
locator.click()

引数

  • selector str#

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

戻り値


get_by_alt_text

追加: v1.27 page.get_by_alt_text

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

使用例

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

<img alt='Playwright logo'>
page.get_by_alt_text("Playwright logo").click()

引数

  • text str | Pattern#

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

  • exact bool (オプション)#

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

戻り値


get_by_label

追加: v1.27 page.get_by_label

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

使用例

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

<input aria-label="Username">
<label for="password-input">Password:</label>
<input id="password-input">
page.get_by_label("Username").fill("john")
page.get_by_label("Password").fill("secret")

引数

  • text str | Pattern#

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

  • exact bool (オプション)#

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

戻り値


get_by_placeholder

追加: v1.27 page.get_by_placeholder

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

使用例

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

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

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

page.get_by_placeholder("name@example.com").fill("playwright@microsoft.com")

引数

  • text str | Pattern#

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

  • exact bool (オプション)#

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

戻り値


get_by_role

追加: v1.27 page.get_by_role

ARIAロールARIA属性、およびアクセシブル名によって要素を特定できます。

使用例

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

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

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

expect(page.get_by_role("heading", name="Sign up")).to_be_visible()

page.get_by_role("checkbox", name="Subscribe").check()

page.get_by_role("button", name=re.compile("submit", re.IGNORECASE)).click()

引数

  • role "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ロール。

  • checked bool (オプション)#

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

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

  • disabled bool (オプション)#

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

    注記

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

  • exact bool (オプション)追加: v1.28#

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

  • expanded bool (オプション)#

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

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

  • include_hidden bool (オプション)#

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

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

  • level int (オプション)#

    通常、headinglistitemrowtreeitemロールに存在する数値属性。<h1>-<h6>要素のデフォルト値。

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

  • name str | Pattern (オプション)#

    アクセシブル名を一致させるためのオプション。デフォルトでは、一致は大文字と小文字を区別せず、部分文字列を検索します。exactを使用してこの動作を制御します。

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

  • pressed bool (オプション)#

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

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

  • selected bool (オプション)#

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

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

戻り値

詳細

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

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


get_by_test_id

追加: v1.27 page.get_by_test_id

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

使用例

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

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

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

page.get_by_test_id("directions").click()

引数

  • test_id str | Pattern#

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

戻り値

詳細

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


get_by_text

追加: v1.27 page.get_by_text

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

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

使用例

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

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

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

# Matches <span>
page.get_by_text("world")

# Matches first <div>
page.get_by_text("Hello world")

# Matches second <div>
page.get_by_text("Hello", exact=True)

# Matches both <div>s
page.get_by_text(re.compile("Hello"))

# Matches second <div>
page.get_by_text(re.compile("^hello$", re.IGNORECASE))

引数

  • text str | Pattern#

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

  • exact bool (オプション)#

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

戻り値

詳細

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

button および submit タイプの入力要素は、テキストコンテンツではなく、value 属性によってマッチングされます。例えば、テキスト "Log in" での検索は、<input type=button value="Log in"> にマッチングします。


get_by_title

追加: v1.27 page.get_by_title

title属性によって要素を特定することができます。

使用例

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

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

titleテキストで特定した後、issueの数をチェックできます。

expect(page.get_by_title("Issues count")).to_have_text("25 issues")

引数

  • text str | Pattern#

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

  • exact bool (オプション)#

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

戻り値


go_back

v1.9 より前に追加 page.go_back

メインリソースのレスポンスを返します。複数のリダイレクトが発生した場合、ナビゲーションは最後のリダイレクトのレスポンスで解決されます。戻ることができない場合は、null を返します。

履歴内の前のページに移動します。

使用例

page.go_back()
page.go_back(**kwargs)

引数

  • timeout float (オプション)#

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

  • wait_until "load" | "domcontentloaded" | "networkidle" | "commit" (オプション)#

    操作が成功したとみなすタイミング。デフォルトは load です。イベントは以下のいずれかになります。

    • 'domcontentloaded' - DOMContentLoaded イベントが発火したときに操作が完了したとみなします。
    • 'load' - load イベントが発火したときに操作が完了したとみなします。
    • 'networkidle' - 非推奨 ネットワーク接続が少なくとも 500 ミリ秒間ない場合に操作が完了したとみなします。テストにはこのメソッドを使用せず、代わりにウェブアサーションに依存して準備状態を評価してください。
    • 'commit' - ネットワークレスポンスが受信され、ドキュメントのロードが開始されたときに操作が完了したとみなします。

戻り値


go_forward

v1.9 より前に追加 page.go_forward

メインリソースのレスポンスを返します。複数のリダイレクトが発生した場合、ナビゲーションは最後のリダイレクトのレスポンスで解決されます。進むことができない場合は、null を返します。

履歴内の次のページに移動します。

使用例

page.go_forward()
page.go_forward(**kwargs)

引数

  • timeout float (オプション)#

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

  • wait_until "load" | "domcontentloaded" | "networkidle" | "commit" (オプション)#

    操作が成功したとみなすタイミング。デフォルトは load です。イベントは以下のいずれかになります。

    • 'domcontentloaded' - DOMContentLoaded イベントが発火したときに操作が完了したとみなします。
    • 'load' - load イベントが発火したときに操作が完了したとみなします。
    • 'networkidle' - 非推奨 ネットワーク接続が少なくとも 500 ミリ秒間ない場合に操作が完了したとみなします。テストにはこのメソッドを使用せず、代わりにウェブアサーションに依存して準備状態を評価してください。
    • 'commit' - ネットワークレスポンスが受信され、ドキュメントのロードが開始されたときに操作が完了したとみなします。

戻り値


goto

v1.9 より前に追加 page.goto

メインリソースのレスポンスを返します。複数のリダイレクトが発生した場合、ナビゲーションは最初のリダイレクトではないレスポンスで解決されます。

このメソッドは、以下の場合にエラーをスローします。

  • SSLエラーが発生した場合(例:自己署名証明書の場合)。
  • ターゲットURLが無効な場合。
  • timeout がナビゲーション中に超過した場合。
  • リモートサーバーが応答しない場合、または到達不能な場合。
  • メインリソースのロードに失敗した場合。

このメソッドは、リモートサーバーから有効なHTTPステータスコード(404 "Not Found" や 500 "Internal Server Error" を含む)が返された場合でもエラーをスローしません。このようなレスポンスのステータスコードは、response.status を呼び出すことで取得できます。

注記

このメソッドは、エラーをスローするか、メインリソースのレスポンスを返します。唯一の例外は、about:blank へのナビゲーション、または異なるハッシュを持つ同じURLへのナビゲーションで、これらは成功し、null を返します。

注記

ヘッドレスモードは、PDFドキュメントへのナビゲーションをサポートしていません。upstream issue を参照してください。

使用例

page.goto(url)
page.goto(url, **kwargs)

引数

  • url str#

    ページをナビゲートするURL。URLにはスキーム(例:https://)を含める必要があります。コンテキストオプションで base_url が提供され、渡されたURLがパスの場合、new URL() コンストラクタを介してマージされます。

  • referer str (オプション)#

    リファラーヘッダーの値。提供された場合、page.set_extra_http_headers() で設定されたリファラーヘッダーの値よりも優先されます。

  • timeout float (オプション)#

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

  • wait_until "load" | "domcontentloaded" | "networkidle" | "commit" (オプション)#

    操作が成功したとみなすタイミング。デフォルトは load です。イベントは以下のいずれかになります。

    • 'domcontentloaded' - DOMContentLoaded イベントが発火したときに操作が完了したとみなします。
    • 'load' - load イベントが発火したときに操作が完了したとみなします。
    • 'networkidle' - 非推奨 ネットワーク接続が少なくとも 500 ミリ秒間ない場合に操作が完了したとみなします。テストにはこのメソッドを使用せず、代わりにウェブアサーションに依存して準備状態を評価してください。
    • 'commit' - ネットワークレスポンスが受信され、ドキュメントのロードが開始されたときに操作が完了したとみなします。

戻り値


locator

追加: v1.14 page.locator

このメソッドは、このページ/フレーム上でアクションを実行するために使用できる要素ロケーターを返します。ロケーターはアクションを実行する直前に要素に解決されるため、同じロケーターに対する一連のアクションは、実際には異なるDOM要素に対して実行される可能性があります。これは、これらのアクション間のDOM構造が変更された場合に発生します。

ロケーターの詳細はこちらをご覧ください.

使用例

page.locator(selector)
page.locator(selector, **kwargs)

引数

  • selector str#

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

  • has Locator (オプション)#

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

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

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

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

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

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

  • has_not_text str | Pattern (オプション)追加: v1.33#

    子要素または子孫要素を含む、内部のどこかに指定されたテキストを含まない要素に一致します。[string] が渡された場合、マッチングは大文字と小文字を区別せず、部分文字列を検索します。

  • has_text str | Pattern (オプション)#

    子要素または子孫要素を含む、内部のどこかに指定されたテキストを含む要素に一致します。[string] が渡された場合、マッチングは大文字と小文字を区別せず、部分文字列を検索します。例えば、"Playwright"<article><div>Playwright</div></article> に一致します。

戻り値


opener

v1.9 より前に追加 page.opener

ポップアップページのopenerを返し、それ以外の場合は null を返します。openerが既に閉じられている場合は null を返します。

使用例

page.opener()

戻り値


pause

追加: v1.9 page.pause

スクリプトの実行を一時停止します。Playwrightはスクリプトの実行を停止し、ユーザーがページオーバーレイの「再開」ボタンを押すか、DevToolsコンソールで playwright.resume() を呼び出すのを待ちます。

ユーザーは一時停止中にセレクターを検査したり、手動でステップを実行したりできます。再開すると、一時停止された場所から元のスクリプトの実行が継続されます。

注記

このメソッドでは、headless オプションがfalseである、ヘッドレスモードでPlaywrightを起動する必要があります。

使用例

page.pause()

戻り値


pdf

v1.9 より前に追加 page.pdf

PDFバッファを返します。

page.pdf() は、print CSSメディアでページのPDFを生成します。screen メディアでPDFを生成するには、page.pdf() を呼び出す前に page.emulate_media() を呼び出してください。

注記

デフォルトでは、page.pdf() は印刷用に色が変更されたPDFを生成します。正確な色のレンダリングを強制するには、-webkit-print-color-adjust プロパティを使用してください。

使用例

# generates a pdf with "screen" media type.
page.emulate_media(media="screen")
page.pdf(path="page.pdf")

width, height, および margin オプションは、単位付きの値を受け入れます。単位なしの値はピクセルとして扱われます。

いくつかの例:

  • page.pdf({width: 100}) - 幅を100ピクセルに設定して印刷します
  • page.pdf({width: '100px'}) - 幅を100ピクセルに設定して印刷します
  • page.pdf({width: '10cm'}) - 幅を10センチメートルに設定して印刷します

可能なすべての単位は次のとおりです。

  • px - ピクセル
  • in - インチ
  • cm - センチメートル
  • mm - ミリメートル

format オプションは次のとおりです。

  • Letter: 8.5in x 11in
  • Legal: 8.5in x 14in
  • Tabloid: 11in x 17in
  • Ledger: 17in x 11in
  • A0: 33.1in x 46.8in
  • A1: 23.4in x 33.1in
  • A2: 16.54in x 23.4in
  • A3: 11.7in x 16.54in
  • A4: 8.27in x 11.7in
  • A5: 5.83in x 8.27in
  • A6: 4.13in x 5.83in
注記

header_template および footer_template マークアップには、次の制限があります。 > 1. テンプレート内のスクリプトタグは評価されません。 > 2. ページスタイルはテンプレート内では表示されません。

引数

  • display_header_footer bool (オプション)#

    ヘッダーとフッターを表示します。デフォルトは false です。

  • footer_template str (オプション)#

    印刷フッター用のHTMLテンプレート。header_template と同じ形式を使用する必要があります。

  • format str (オプション)#

    用紙フォーマット。設定されている場合、width または height オプションよりも優先されます。デフォルトは 'Letter' です。

  • header_template str (オプション)#

    印刷ヘッダー用のHTMLテンプレート。印刷値を注入するために使用される次のクラスを含む有効なHTMLマークアップである必要があります。

    • 'date' フォーマットされた印刷日
    • 'title' ドキュメントタイトル
    • 'url' ドキュメントの場所
    • 'pageNumber' 現在のページ番号
    • 'totalPages' ドキュメントの総ページ数
  • height str | float (オプション)#

    用紙の高さ。単位付きの値を受け入れます。

  • landscape bool (オプション)#

    用紙の向き。デフォルトは false です。

  • margin Dict (オプション)#

    • top str | float (オプション)

      上マージン。単位付きの値を受け入れます。デフォルトは 0 です。

    • right str | float (オプション)

      右マージン。単位付きの値を受け入れます。デフォルトは 0 です。

    • bottom str | float (オプション)

      下マージン。単位付きの値を受け入れます。デフォルトは 0 です。

    • left str | float (オプション)

      左マージン。単位付きの値を受け入れます。デフォルトは 0 です。

    用紙のマージン。デフォルトはなしです。

  • outline bool (オプション)追加: v1.42#

    ドキュメントのアウトラインをPDFに埋め込むかどうか。デフォルトは false です。

  • page_ranges str (オプション)#

    印刷する用紙範囲(例:'1-5, 8, 11-13')。デフォルトは空の文字列で、すべてのページを印刷することを意味します。

  • path Union[str, pathlib.Path] (オプション)#

    PDFを保存するファイルパス。path が相対パスの場合、現在のワーキングディレクトリからの相対パスとして解決されます。パスが指定されていない場合、PDFはディスクに保存されません。

  • prefer_css_page_size bool (オプション)#

    ページで宣言されたCSS @page サイズを、width および height または format オプションで宣言されたものよりも優先させます。デフォルトは false で、コンテンツを用紙サイズに合わせて拡大縮小します。

  • print_background bool (オプション)#

    背景グラフィックを印刷します。デフォルトは false です。

  • scale float (オプション)#

    ウェブページのレンダリングのスケール。デフォルトは 1 です。スケール量は0.1から2の間である必要があります。

  • tagged bool (オプション)追加: v1.42#

    タグ付き(アクセシブル)PDFを生成するかどうか。デフォルトは false です。

  • width str | float (オプション)#

    用紙の幅。単位付きの値を受け入れます。

戻り値


reload

v1.9 より前に追加 page.reload

このメソッドは、ユーザーがブラウザの更新をトリガーした場合と同じように、現在のページをリロードします。メインリソースのレスポンスを返します。複数のリダイレクトが発生した場合、ナビゲーションは最後のリダイレクトのレスポンスで解決されます。

使用例

page.reload()
page.reload(**kwargs)

引数

  • timeout float (オプション)#

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

  • wait_until "load" | "domcontentloaded" | "networkidle" | "commit" (オプション)#

    操作が成功したとみなすタイミング。デフォルトは load です。イベントは以下のいずれかになります。

    • 'domcontentloaded' - DOMContentLoaded イベントが発火したときに操作が完了したとみなします。
    • 'load' - load イベントが発火したときに操作が完了したとみなします。
    • 'networkidle' - 非推奨 ネットワーク接続が少なくとも 500 ミリ秒間ない場合に操作が完了したとみなします。テストにはこのメソッドを使用せず、代わりにウェブアサーションに依存して準備状態を評価してください。
    • 'commit' - ネットワークレスポンスが受信され、ドキュメントのロードが開始されたときに操作が完了したとみなします。

戻り値


remove_locator_handler

追加: v1.44 page.remove_locator_handler

page.add_locator_handler() によって追加された、特定のロケーターに対するすべてのロケーターハンドラーを削除します。

使用例

page.remove_locator_handler(locator)

引数

戻り値


request_gc

追加: v1.48 page.request_gc

ページにガベージコレクションを実行するように要求します。到達不能なオブジェクトがすべて収集される保証はないことに注意してください。

これは、メモリリークを検出するのに役立ちます。例えば、ページにリークしている可能性のある大きなオブジェクト 'suspect' がある場合、WeakRef を使用してリークしていないことを確認できます。

# 1. In your page, save a WeakRef for the "suspect".
page.evaluate("globalThis.suspectWeakRef = new WeakRef(suspect)")
# 2. Request garbage collection.
page.request_gc()
# 3. Check that weak ref does not deref to the original object.
assert page.evaluate("!globalThis.suspectWeakRef.deref()")

使用例

page.request_gc()

戻り値


route

v1.9 より前に追加 page.route

ルーティングは、ページによって行われるネットワークリクエストを変更する機能を提供します。

ルーティングが有効になると、URLパターンに一致するすべてのリクエストは、続行、フルフィルド、または中止されない限り、停止します。

注記

レスポンスがリダイレクトの場合、ハンドラーは最初のURLに対してのみ呼び出されます。

注記

page.route() は、Service Workerによってインターセプトされたリクエストをインターセプトしません。this issueを参照してください。リクエストインターセプトを使用する場合は、service_workers'block' に設定してService Workerを無効にすることをお勧めします。

注記

page.route() は、ポップアップページの最初のリクエストをインターセプトしません。代わりに browser_context.route() を使用してください。

使用例

すべてのイメージリクエストを中止するナイーブなハンドラーの例:

page = browser.new_page()
page.route("**/*.{png,jpg,jpeg}", lambda route: route.abort())
page.goto("https://example.com")
browser.close()

または、代わりに正規表現パターンを使用した同じスニペット:

page = browser.new_page()
page.route(re.compile(r"(\.png$)|(\.jpg$)"), lambda route: route.abort())
page.goto("https://example.com")
browser.close()

リクエストを調べて、ルートアクションを決定することが可能です。例えば、いくつかのポストデータを含むすべてのリクエストをモックし、他のすべてのリクエストをそのままにします。

def handle_route(route: Route):
if ("my-string" in route.request.post_data):
route.fulfill(body="mocked-data")
else:
route.continue_()
page.route("/api/**", handle_route)

ページルートは、リクエストが両方のハンドラーに一致する場合、ブラウザコンテキストルート(browser_context.route() で設定)よりも優先されます。

ハンドラー付きのルートを削除するには、page.unroute() を使用できます。

注記

ルーティングを有効にすると、HTTPキャッシュが無効になります。

引数

  • url str | Pattern | Callable[URL]:bool#

    ルーティング中にマッチングするグロブパターン、正規表現パターン、または URL を受信する述語。コンテキストオプションで base_url が提供され、渡されたURLがパスの場合、new URL() コンストラクタを介してマージされます。

  • handler Callable[Route, Request]:Promise[Any] | Any#

    リクエストをルーティングするハンドラー関数。

  • times int (オプション)追加: v1.15#

    ルートが使用される頻度。デフォルトでは、毎回使用されます。

戻り値


route_from_har

追加: v1.23 page.route_from_har

指定された場合、ページで行われるネットワークリクエストはHARファイルから提供されます。HARからのリプレイ について詳しくはこちらをご覧ください。

Playwrightは、Service WorkerによってインターセプトされたリクエストをHARファイルから提供しません。this issueを参照してください。リクエストインターセプトを使用する場合は、service_workers'block' に設定してService Workerを無効にすることをお勧めします。

使用例

page.route_from_har(har)
page.route_from_har(har, **kwargs)

引数

  • har Union[str, pathlib.Path]#

    HAR ファイルへのパス。事前記録されたネットワークデータが含まれています。path が相対パスの場合、現在のワーキングディレクトリからの相対パスとして解決されます。

  • not_found "abort" | "fallback" (オプション)#

    • 'abort' に設定すると、HARファイルに見つからないリクエストはすべて中止されます。
    • 'fallback' に設定すると、見つからないリクエストはネットワークに送信されます。

    デフォルトは abort です。

  • update bool (任意)#

    指定された場合、ファイルから提供する代わりに、実際のネットワーク情報で指定された HAR を更新します。ファイルは、browser_context.close() が呼び出されたときにディスクに書き込まれます。

  • update_content "embed" | "attach" (任意)バージョン 1.32 で追加#

    リソースコンテンツ管理を制御するためのオプション設定です。attach が指定された場合、リソースは個別のファイルまたは ZIP アーカイブのエントリとして永続化されます。embed が指定された場合、コンテンツは HAR ファイルにインラインで保存されます。

  • update_mode "full" | "minimal" (任意)バージョン 1.32 で追加#

    minimal に設定すると、HAR からのルーティングに必要な情報のみを記録します。これにより、HAR からの再生時に使用されないサイズ、タイミング、ページ、Cookie、セキュリティ、およびその他のタイプの HAR 情報は省略されます。デフォルトは minimal です。

  • url str | Pattern (任意)#

    リクエスト URL に一致する glob パターン、正規表現、または述語。パターンに一致する URL を持つリクエストのみが HAR ファイルから提供されます。指定されていない場合、すべてのリクエストが HAR ファイルから提供されます。

戻り値


route_web_socket

追加: v1.48 page.route_web_socket

このメソッドを使用すると、ページによって確立された WebSocket 接続を変更できます。

このメソッドが呼び出された後に作成された WebSocket のみがルーティングされることに注意してください。ページをナビゲートする前にこのメソッドを呼び出すことをお勧めします。

使用例

以下は、単一のメッセージに応答する簡単なモックの例です。詳細と例については、WebSocketRoute を参照してください。

def message_handler(ws: WebSocketRoute, message: Union[str, bytes]):
if message == "request":
ws.send("response")

def handler(ws: WebSocketRoute):
ws.on_message(lambda message: message_handler(ws, message))

page.route_web_socket("/ws", handler)

引数

  • url str | Pattern | Callable[URL]:bool#

    このパターンに一致する URL を持つ WebSocket のみがルーティングされます。文字列パターンは、base_url コンテキストオプションに対して相対的にすることができます。

  • handler Callable[WebSocketRoute]:Promise[Any] | Any#

    WebSocket をルーティングするためのハンドラー関数。

戻り値


screenshot

v1.9 より前に追加 page.screenshot

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

使用例

page.screenshot()
page.screenshot(**kwargs)

引数

  • animations "disabled" | "allow" (任意)#

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

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

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

  • caret "hide" | "initial" (任意)#

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

  • clip Dict (任意)#

    • x float

      クリップ領域の左上隅の x 座標

    • y float

      クリップ領域の左上隅の y 座標

    • width float

      クリップ領域の幅

    • height float

      クリップ領域の高さ

    結果の画像のクリッピングを指定するオブジェクト。

  • full_page bool (任意)#

    true の場合、現在表示されているビューポートの代わりに、スクロール可能なページ全体のスクリーンショットを撮ります。デフォルトは false です。

  • mask List[Locator] (任意)#

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

  • mask_color str (任意)バージョン 1.35 で追加#

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

  • omit_background bool (任意)#

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

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

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

  • quality int (任意)#

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

  • scale "css" | "device" (任意)#

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

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

  • style str (任意)バージョン 1.41 で追加#

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

  • timeout float (任意)#

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

  • type "png" | "jpeg" (任意)#

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

戻り値


set_content

v1.9 より前に追加 page.set_content

このメソッドは内部的に document.write() を呼び出し、そのすべての特定の特性と動作を継承します。

使用例

page.set_content(html)
page.set_content(html, **kwargs)

引数

  • html str#

    ページに割り当てる HTML マークアップ。

  • timeout float (任意)#

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

  • wait_until "load" | "domcontentloaded" | "networkidle" | "commit" (任意)#

    操作が成功したとみなすタイミング。デフォルトは load です。イベントは以下のいずれかになります。

    • 'domcontentloaded' - DOMContentLoaded イベントが発火したときに操作が完了したとみなします。
    • 'load' - load イベントが発火したときに操作が完了したとみなします。
    • 'networkidle' - 非推奨 ネットワーク接続が少なくとも 500 ミリ秒間ない場合に操作が完了したとみなします。テストにはこのメソッドを使用せず、代わりにウェブアサーションに依存して準備状態を評価してください。
    • 'commit' - ネットワークレスポンスが受信され、ドキュメントのロードが開始されたときに操作が完了したとみなします。

戻り値


set_default_navigation_timeout

v1.9 より前に追加 page.set_default_navigation_timeout

この設定は、次のメソッドと関連するショートカットのデフォルトの最大ナビゲーション時間を変更します。

使用例

page.set_default_navigation_timeout(timeout)

引数

  • timeout float#

    ミリ秒単位の最大ナビゲーション時間


set_default_timeout

v1.9 より前に追加 page.set_default_timeout

この設定は、timeout オプションを受け入れるすべてのメソッドのデフォルトの最大時間を変更します。

注記

使用例

page.set_default_timeout(timeout)

引数

  • timeout float#

    ミリ秒単位の最大時間。タイムアウトを無効にするには 0 を渡します。


set_extra_http_headers

v1.9 より前に追加 page.set_extra_http_headers

追加の HTTP ヘッダーは、ページが開始するすべてのリクエストとともに送信されます。

注記

page.set_extra_http_headers() は、送信リクエストのヘッダーの順序を保証しません。

使用例

page.set_extra_http_headers(headers)

引数

  • headers Dict[str, str]#

    すべてのリクエストとともに送信される追加の HTTP ヘッダーを含むオブジェクト。すべてのヘッダー値は文字列である必要があります。

戻り値


set_viewport_size

v1.9 より前に追加 page.set_viewport_size

単一のブラウザに複数のページがある場合、各ページは独自のビューポートサイズを持つことができます。ただし、browser.new_context() を使用すると、コンテキスト内のすべてのページに対してビューポートサイズ (およびその他) を一度に設定できます。

page.set_viewport_size() はページのサイズを変更します。多くの Web サイトは電話のサイズが変更されることを想定していないため、ページに移動する前にビューポートサイズを設定する必要があります。page.set_viewport_size()screen サイズもリセットします。これらのプロパティをより細かく制御する必要がある場合は、screen および viewport パラメーターを指定して browser.new_context() を使用してください。

使用例

page = browser.new_page()
page.set_viewport_size({"width": 640, "height": 480})
page.goto("https://example.com")

引数

  • viewport_size Dict#
    • width int

      ピクセル単位のページ幅。

    • height int

      ピクセル単位のページ高さ。

戻り値


title

v1.9 より前に追加 page.title

ページのタイトルを返します。

使用例

page.title()

戻り値


unroute

v1.9 より前に追加 page.unroute

page.route() で作成されたルートを削除します。handler が指定されていない場合、url のすべてのルートを削除します。

使用例

page.unroute(url)
page.unroute(url, **kwargs)

引数

  • url str | Pattern | Callable[URL]:bool#

    ルーティング中に一致させる URL を受信する glob パターン、正規表現パターン、または述語。

  • handler Callable[Route, Request]:Promise[Any] | Any (任意)#

    リクエストをルーティングするためのオプションのハンドラー関数。

戻り値


unroute_all

バージョン 1.41 で追加 page.unroute_all

page.route() および page.route_from_har() で作成されたすべてのルートを削除します。

使用例

page.unroute_all()
page.unroute_all(**kwargs)

引数

  • behavior "wait" | "ignoreErrors" | "default" (任意)#

    すでに実行中のハンドラーを待機するかどうか、およびエラーが発生した場合の対処方法を指定します。

    • 'default' - 現在のハンドラー呼び出し (存在する場合) の完了を待機しません。アンルーティングされたハンドラーが例外をスローした場合、未処理のエラーが発生する可能性があります。
    • 'wait' - 現在のハンドラー呼び出し (存在する場合) の完了を待機します。
    • 'ignoreErrors' - 現在のハンドラー呼び出し (存在する場合) の完了を待機しません。アンルーティング後にハンドラーによってスローされたすべてのエラーは、警告なしにキャッチされます。

戻り値


wait_for_event

v1.9 より前に追加 page.wait_for_event
注記

ほとんどの場合、page.expect_event() を使用する必要があります。

指定された event が発生するのを待ちます。述語が指定されている場合、イベントの値を predicate 関数に渡し、predicate(event) が真の値を返すのを待ちます。event が発生する前にページが閉じられた場合、エラーがスローされます。

使用例

page.wait_for_event(event)
page.wait_for_event(event, **kwargs)

引数

  • event str#

    イベント名。通常*.on(event)に渡されるものと同じです。

  • predicate Callable (任意)#

    イベントデータを受け取り、待機を解決すべき場合に真偽値を返します。

  • timeout float (任意)#

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

戻り値


wait_for_function

v1.9 より前に追加 page.wait_for_function

expression が真の値を返すときに戻ります。真の値の JSHandle に解決されます。

使用例

page.wait_for_function() は、ビューポートサイズの変更を監視するために使用できます。

from playwright.sync_api import sync_playwright, Playwright

def run(playwright: Playwright):
webkit = playwright.webkit
browser = webkit.launch()
page = browser.new_page()
page.evaluate("window.x = 0; setTimeout(() => { window.x = 100 }, 1000);")
page.wait_for_function("() => window.x > 0")
browser.close()

with sync_playwright() as playwright:
run(playwright)

page.wait_for_function() 関数の述語に引数を渡すには、次のようにします。

selector = ".foo"
page.wait_for_function("selector => !!document.querySelector(selector)", selector)

引数

  • expression str#

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

  • arg EvaluationArgument (任意)#

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

  • polling float | "raf" (任意)#

    polling'raf' の場合、expressionrequestAnimationFrame コールバックで継続的に実行されます。polling が数値の場合、関数が実行される間隔 (ミリ秒単位) として扱われます。デフォルトは raf です。

  • timeout float (任意)#

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

戻り値


wait_for_load_state

v1.9 より前に追加 page.wait_for_load_state

必要なロード状態に達すると戻ります。

これは、ページが必要なロード状態 (デフォルトでは load) に達すると解決されます。ナビゲーションは、このメソッドが呼び出されたときにコミットされている必要があります。現在のドキュメントがすでに必要な状態に達している場合は、すぐに解決されます。

注記

Playwright は すべてのアクションの前に自動待機 するため、ほとんどの場合、このメソッドは必要ありません。

使用例

page.get_by_role("button").click() # click triggers navigation.
page.wait_for_load_state() # the promise resolves after "load" event.
with page.expect_popup() as page_info:
page.get_by_role("button").click() # click triggers a popup.
popup = page_info.value
# Wait for the "DOMContentLoaded" event.
popup.wait_for_load_state("domcontentloaded")
print(popup.title()) # popup is ready to use.

引数

  • state "load" | "domcontentloaded" | "networkidle" (任意)#

    待機するオプションのロード状態。デフォルトは load です。現在のドキュメントのロード中に状態がすでに到達している場合、メソッドはすぐに解決されます。次のいずれかを指定できます。

    • 'load' - load イベントが発生するのを待ちます。
    • 'domcontentloaded' - DOMContentLoaded イベントが発生するのを待ちます。
    • 'networkidle' - 推奨されません ネットワーク接続が少なくとも 500 ミリ秒なくなるまで待ちます。テストにはこのメソッドを使用しないでください。代わりに Web アサーションを使用して準備状況を評価してください。
  • timeout float (任意)#

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

戻り値


wait_for_url

バージョン 1.11 で追加 page.wait_for_url

メインフレームが指定された URL に移動するのを待ちます。

使用例

page.click("a.delayed-navigation") # clicking the link will indirectly cause a navigation
page.wait_for_url("**/target.html")

引数

  • url str | Pattern | Callable[URL]:bool#

    ナビゲーションを待機中に一致させる URL を受信する glob パターン、正規表現パターン、または述語。パラメーターがワイルドカード文字を含まない文字列の場合、メソッドは文字列と完全に等しい URL へのナビゲーションを待機することに注意してください。

  • timeout float (任意)#

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

  • wait_until "load" | "domcontentloaded" | "networkidle" | "commit" (任意)#

    操作が成功したとみなすタイミング。デフォルトは load です。イベントは以下のいずれかになります。

    • 'domcontentloaded' - DOMContentLoaded イベントが発火したときに操作が完了したとみなします。
    • 'load' - load イベントが発火したときに操作が完了したとみなします。
    • 'networkidle' - 非推奨 ネットワーク接続が少なくとも 500 ミリ秒間ない場合に操作が完了したとみなします。テストにはこのメソッドを使用せず、代わりにウェブアサーションに依存して準備状態を評価してください。
    • 'commit' - ネットワークレスポンスが受信され、ドキュメントのロードが開始されたときに操作が完了したとみなします。

戻り値


プロパティ

clock

バージョン 1.45 で追加 page.clock

Playwright には、時計と時間の経過をモックする機能があります。

使用例

page.clock

タイプ


context

v1.9 より前に追加 page.context

ページが属するブラウザコンテキストを取得します。

使用例

page.context

戻り値


frames

v1.9 より前に追加 page.frames

ページにアタッチされているすべてのフレームの配列。

使用例

page.frames

戻り値


is_closed

v1.9 より前に追加 page.is_closed

ページが閉じられたことを示します。

使用例

page.is_closed()

戻り値


keyboard

v1.9 より前に追加 page.keyboard

使用例

page.keyboard

タイプ


main_frame

v1.9 より前に追加 page.main_frame

ページのメインフレーム。ページには、ナビゲーション中に永続化されるメインフレームがあることが保証されています。

使用例

page.main_frame

戻り値


mouse

v1.9 より前に追加 page.mouse

使用例

page.mouse

タイプ


request

バージョン 1.16 で追加 page.request

このページに関連付けられた API テストヘルパー。このメソッドは、ページのコンテキストで browser_context.request と同じインスタンスを返します。詳細については、browser_context.request を参照してください。

使用例

page.request

タイプ


touchscreen

v1.9 より前に追加 page.touchscreen

使用例

page.touchscreen

タイプ


url

v1.9 より前に追加 page.url

使用例

page.url

戻り値


video

v1.9 より前に追加 page.video

このページに関連付けられたビデオオブジェクト。

使用例

page.video

戻り値


viewport_size

v1.9 より前に追加 page.viewport_size

使用例

page.viewport_size

戻り値

  • NoneType | Dict#
    • width int

      ピクセル単位のページ幅。

    • height int

      ピクセル単位のページ高さ。


workers

v1.9 より前に追加 page.workers

このメソッドは、ページに関連付けられた専用の WebWorker をすべて返します。

注記

これには ServiceWorker は含まれません

使用例

page.workers

戻り値


イベント

on("close")

v1.9 より前に追加 page.on("close")

ページが閉じるときに発行されます。

使用例

page.on("close", handler)

イベントデータ


on("console")

v1.9 より前に追加 page.on("console")

ページ内の JavaScript が console.logconsole.dir などの console API メソッドのいずれかを呼び出すと発行されます。

console.log に渡された引数は、ConsoleMessage イベントハンドラー引数で使用できます。

使用例

def print_args(msg):
for arg in msg.args:
print(arg.json_value())

page.on("console", print_args)
page.evaluate("console.log('hello', 5, { foo: 'bar' })")

イベントデータ


on("crash")

v1.9 より前に追加 page.on("crash")

ページがクラッシュしたときに発行されます。ブラウザページは、メモリを過剰に割り当てようとするとクラッシュする可能性があります。ページがクラッシュすると、進行中および後続の操作は例外をスローします。

クラッシュに対処する最も一般的な方法は、例外をキャッチすることです。

try:
# crash might happen during a click.
page.click("button")
# or while waiting for an event.
page.wait_for_event("popup")
except Error as e:
pass
# when the page crashes, exception message contains "crash".

使用例

page.on("crash", handler)

イベントデータ


on("dialog")

v1.9 より前に追加 page.on("dialog")

alertpromptconfirmbeforeunload などの JavaScript ダイアログが表示されると発行されます。リスナーは、dialog.accept() または dialog.dismiss() のいずれかでダイアログを受け入れる必要があります。そうしないと、ページがダイアログを待機してフリーズし、クリックなどのアクションが完了しなくなります。

使用例

page.on("dialog", lambda dialog: dialog.accept())
注記

page.on("dialog") または browser_context.on("dialog") リスナーが存在しない場合、すべてのダイアログは自動的に閉じられます。

イベントデータ


on("domcontentloaded")

追加: v1.9 page.on("domcontentloaded")

JavaScript の DOMContentLoaded イベントがディスパッチされると発行されます。

使用例

page.on("domcontentloaded", handler)

イベントデータ


on("download")

v1.9 より前に追加 page.on("download")

添付ファイルのダウンロードが開始されると発行されます。ユーザーは、渡された Download インスタンスを介して、ダウンロードされたコンテンツに対する基本的なファイル操作にアクセスできます。

使用例

page.on("download", handler)

イベントデータ


on("filechooser")

追加: v1.9 page.on("filechooser")

ファイルチューザーが表示されるべき時に発生します。例えば、<input type=file>をクリックした後などです。Playwright は、file_chooser.set_files() を使用して入力ファイルをセットすることでこれに応答でき、その後ファイルをアップロードできます。

page.on("filechooser", lambda file_chooser: file_chooser.set_files("/tmp/myfile.pdf"))

使用例

page.on("filechooser", handler)

イベントデータ


on("frameattached")

追加: v1.9 page.on("frameattached")

フレームがアタッチされたときに発生します。

使用例

page.on("frameattached", handler)

イベントデータ


on("framedetached")

追加: v1.9 page.on("framedetached")

フレームがデタッチされたときに発生します。

使用例

page.on("framedetached", handler)

イベントデータ


on("framenavigated")

追加: v1.9 page.on("framenavigated")

フレームが新しい URL にナビゲートされたときに発生します。

使用例

page.on("framenavigated", handler)

イベントデータ


on("load")

v1.9 より前に追加 page.on("load")

JavaScript の load イベントがディスパッチされたときに発生します。

使用例

page.on("load", handler)

イベントデータ


on("pageerror")

追加: v1.9 page.on("pageerror")

ページ内でキャッチされない例外が発生したときに発生します。

# Log all uncaught errors to the terminal
page.on("pageerror", lambda exc: print(f"uncaught exception: {exc}"))

# Navigate to a page with an exception.
page.goto("data:text/html,<script>throw new Error('test')</script>")

使用例

page.on("pageerror", handler)

イベントデータ


on("popup")

v1.9 より前に追加 page.on("popup")

ページが新しいタブまたはウィンドウを開いたときに発生します。このイベントは、browser_context.on("page") に加えて発生しますが、このページに関連するポップアップのみが対象です。

ページが利用可能になる最も早いタイミングは、初期 URL にナビゲートされたときです。例えば、window.open('http://example.com') でポップアップを開くと、"http://example.com" へのネットワークリクエストが完了し、そのレスポンスがポップアップでの読み込みを開始したときに、このイベントが発生します。このネットワークリクエストをルーティング/リッスンしたい場合は、browser_context.route() および browser_context.on("request") を、Page の同様のメソッドの代わりに使用してください。

with page.expect_event("popup") as page_info:
page.get_by_text("open the popup").click()
popup = page_info.value
print(popup.evaluate("location.href"))
注記

ページが特定の状態になるまで待機するには、page.wait_for_load_state() を使用してください(ほとんどの場合、必要ありません)。

使用例

page.on("popup", handler)

イベントデータ


on("request")

v1.9 より前に追加 page.on("request")

ページがリクエストを発行したときに発生します。request オブジェクトは読み取り専用です。リクエストをインターセプトして変更するには、page.route() または browser_context.route() を参照してください。

使用例

page.on("request", handler)

イベントデータ


on("requestfailed")

追加: v1.9 page.on("requestfailed")

リクエストが失敗したときに発生します。例えば、タイムアウトした場合などです。

page.on("requestfailed", lambda request: print(request.url + " " + request.failure.error_text))
注記

404 や 503 などの HTTP エラーレスポンスは、HTTP の観点からは依然として成功したレスポンスであるため、リクエストは page.on("requestfinished") イベントで完了し、page.on("requestfailed") イベントでは完了しません。リクエストが失敗と見なされるのは、クライアントがサーバーから HTTP レスポンスを取得できない場合のみです。例えば、ネットワークエラー net::ERR_FAILED などが原因の場合です。

使用例

page.on("requestfailed", handler)

イベントデータ


on("requestfinished")

追加: v1.9 page.on("requestfinished")

レスポンスボディのダウンロード後、リクエストが正常に完了したときに発生します。成功したレスポンスの場合、イベントのシーケンスは requestresponserequestfinished です。

使用例

page.on("requestfinished", handler)

イベントデータ


on("response")

v1.9 より前に追加 page.on("response")

リクエストに対する response のステータスとヘッダーを受信したときに発生します。成功したレスポンスの場合、イベントのシーケンスは requestresponserequestfinished です。

使用例

page.on("response", handler)

イベントデータ


on("websocket")

追加: v1.9 page.on("websocket")

WebSocket リクエストが送信されたときに発生します。

使用例

page.on("websocket", handler)

イベントデータ


on("worker")

v1.9 より前に追加 page.on("worker")

専用の WebWorker がページによって生成されたときに発生します。

使用例

page.on("worker", handler)

イベントデータ


非推奨

アクセシビリティ

v1.9 より前に追加 page.accessibility
非推奨

このプロパティは推奨されません。ページのアクセシビリティをテストする必要がある場合は、Axe などの他のライブラリを使用してください。Axe との統合については、Node.js の ガイド を参照してください。

使用例

page.accessibility

タイプ


check

v1.9 より前に追加 page.check
非推奨

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

このメソッドは、selector に一致する要素をチェックするために、次の手順を実行します。

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

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

使用例

page.check(selector)
page.check(selector, **kwargs)

引数

  • selector str#

    要素を検索するためのセレクター。セレクターを満たす要素が複数ある場合は、最初の要素が使用されます。

  • force bool (オプション)#

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

  • no_wait_after bool (オプション)#

    非推奨

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

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

  • position Dict (オプション)バージョン 1.11 で追加#

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

  • strict bool (オプション)追加: v1.14#

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

  • timeout float (オプション)#

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

  • trial bool (オプション)バージョン 1.11 で追加#

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

戻り値


click

v1.9 より前に追加 page.click
非推奨

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

このメソッドは、selector に一致する要素をクリックするために、次の手順を実行します。

  1. selector に一致する要素を検索します。一致する要素がない場合は、一致する要素が DOM にアタッチされるまで待ちます。
  2. force オプションが設定されていない限り、一致する要素のアクション実行可能性チェックを待ちます。チェック中に要素がデタッチされた場合、アクション全体が再試行されます。
  3. 必要に応じて、要素をビューにスクロールします。
  4. page.mouse を使用して、要素の中央、または指定された position をクリックします。
  5. no_wait_after オプションが設定されていない限り、開始されたナビゲーションが成功または失敗するまで待ちます。

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

使用例

page.click(selector)
page.click(selector, **kwargs)

引数

  • selector str#

    要素を検索するためのセレクター。セレクターを満たす要素が複数ある場合は、最初の要素が使用されます。

  • button "left" | "right" | "middle" (オプション)#

    デフォルトは left です。

  • click_count int (オプション)#

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

  • delay float (オプション)#

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

  • force bool (オプション)#

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

  • modifiers List["Alt" | "Control" | "ControlOrMeta" | "Meta" | "Shift"] (オプション)#

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

  • no_wait_after bool (オプション)#

    非推奨

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

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

  • position Dict (オプション)#

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

  • strict bool (オプション)追加: v1.14#

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

  • timeout float (オプション)#

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

  • trial bool (オプション)バージョン 1.11 で追加#

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

戻り値


dblclick

v1.9 より前に追加 page.dblclick
非推奨

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

このメソッドは、selector に一致する要素をダブルクリックするために、次の手順を実行します。

  1. selector に一致する要素を検索します。一致する要素がない場合は、一致する要素が DOM にアタッチされるまで待ちます。
  2. force オプションが設定されていない限り、一致する要素のアクション実行可能性チェックを待ちます。チェック中に要素がデタッチされた場合、アクション全体が再試行されます。
  3. 必要に応じて、要素をビューにスクロールします。
  4. page.mouse を使用して、要素の中央、または指定された position をダブルクリックします。

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

注記

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

使用例

page.dblclick(selector)
page.dblclick(selector, **kwargs)

引数

  • selector str#

    要素を検索するためのセレクター。セレクターを満たす要素が複数ある場合は、最初の要素が使用されます。

  • button "left" | "right" | "middle" (オプション)#

    デフォルトは left です。

  • delay float (オプション)#

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

  • force bool (オプション)#

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

  • modifiers List["Alt" | "Control" | "ControlOrMeta" | "Meta" | "Shift"] (オプション)#

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

  • no_wait_after bool (オプション)#

    非推奨

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

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

  • position Dict (オプション)#

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

  • strict bool (オプション)追加: v1.14#

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

  • timeout float (オプション)#

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

  • trial bool (オプション)バージョン 1.11 で追加#

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

戻り値


dispatch_event

v1.9 より前に追加 page.dispatch_event
非推奨

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

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

使用例

page.dispatch_event("button#submit", "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()")
page.dispatch_event("#source", "dragstart", { "dataTransfer": data_transfer })

引数

  • selector str#

    要素を検索するためのセレクター。セレクターを満たす要素が複数ある場合は、最初の要素が使用されます。

  • type str#

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

  • event_init EvaluationArgument (オプション)#

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

  • strict bool (オプション)追加: v1.14#

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

  • timeout float (オプション)#

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

戻り値


eval_on_selector

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

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

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

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

使用例

search_value = page.eval_on_selector("#search", "el => el.value")
preload_href = page.eval_on_selector("link[rel=preload]", "el => el.href")
html = page.eval_on_selector(".main-container", "(e, suffix) => e.outer_html + suffix", "hello")

引数

  • selector str#

    クエリするセレクター。

  • expression str#

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

  • arg EvaluationArgument (オプション)#

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

  • strict bool (オプション)追加: v1.14#

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

戻り値


eval_on_selector_all

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

ほとんどの場合、locator.evaluate_all()、他の Locator ヘルパーメソッド、および Web ファーストアサーションの方が優れています。

このメソッドは、ページ内で指定されたセレクターに一致するすべての要素を見つけ、一致する要素の配列を最初の引数として expression に渡します。expression 呼び出しの結果を返します。

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

使用例

div_counts = page.eval_on_selector_all("div", "(divs, min) => divs.length >= min", 10)

引数

  • selector str#

    クエリするセレクター。

  • expression str#

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

  • arg EvaluationArgument (オプション)#

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

戻り値


expect_navigation

v1.9 より前に追加 page.expect_navigation
非推奨

このメソッドは本質的に競争状態になりやすいため、代わりに page.wait_for_url() を使用してください。

メインフレームのナビゲーションを待機し、メインリソースレスポンスを返します。複数のリダイレクトの場合、ナビゲーションは最後のリダイレクトのレスポンスで解決されます。異なるアンカーへのナビゲーション、または History API の使用によるナビゲーションの場合、ナビゲーションは null で解決されます。

使用例

これは、ページが新しい URL にナビゲートするか、リロードするときに解決されます。これは、ページを間接的にナビゲートさせるコードを実行する場合に役立ちます。例: クリックターゲットには、setTimeout からナビゲーションをトリガーする onclick ハンドラーがあります。次の例を考えてみてください。

with page.expect_navigation():
# This action triggers the navigation after a timeout.
page.get_by_text("Navigate after timeout").click()
# Resolves after navigation has finished
注記

History API を使用して URL を変更することは、ナビゲーションと見なされます。

引数

  • timeout float (オプション)#

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

  • url str | Pattern | Callable[URL]:bool (オプション)#

    ナビゲーションを待機中に一致させる URL を受信する glob パターン、正規表現パターン、または述語。パラメーターがワイルドカード文字を含まない文字列の場合、メソッドは文字列と完全に等しい URL へのナビゲーションを待機することに注意してください。

  • wait_until "load" | "domcontentloaded" | "networkidle" | "commit" (オプション)#

    操作が成功したとみなすタイミング。デフォルトは load です。イベントは以下のいずれかになります。

    • 'domcontentloaded' - DOMContentLoaded イベントが発火したときに操作が完了したとみなします。
    • 'load' - load イベントが発火したときに操作が完了したとみなします。
    • 'networkidle' - 非推奨 ネットワーク接続が少なくとも 500 ミリ秒間ない場合に操作が完了したとみなします。テストにはこのメソッドを使用せず、代わりにウェブアサーションに依存して準備状態を評価してください。
    • 'commit' - ネットワークレスポンスが受信され、ドキュメントのロードが開始されたときに操作が完了したとみなします。

戻り値


fill

v1.9 より前に追加 page.fill
非推奨

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

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

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

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

使用例

page.fill(selector, value)
page.fill(selector, value, **kwargs)

引数

  • selector str#

    要素を検索するためのセレクター。セレクターを満たす要素が複数ある場合は、最初の要素が使用されます。

  • value str#

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

  • force bool (オプション)追加: v1.13#

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

  • no_wait_after bool (オプション)#

    非推奨

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

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

  • strict bool (オプション)追加: v1.14#

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

  • timeout float (オプション)#

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

戻り値


focus

v1.9 より前に追加 page.focus
非推奨

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

このメソッドは、selector を持つ要素を取得し、フォーカスを当てます。selector に一致する要素がない場合、メソッドは一致する要素が DOM に表示されるまで待ちます。

使用例

page.focus(selector)
page.focus(selector, **kwargs)

引数

  • selector str#

    要素を検索するためのセレクター。セレクターを満たす要素が複数ある場合は、最初の要素が使用されます。

  • strict bool (オプション)追加: v1.14#

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

  • timeout float (オプション)#

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

戻り値


get_attribute

v1.9 より前に追加 page.get_attribute
非推奨

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

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

使用例

page.get_attribute(selector, name)
page.get_attribute(selector, name, **kwargs)

引数

  • selector str#

    要素を検索するためのセレクター。セレクターを満たす要素が複数ある場合は、最初の要素が使用されます。

  • name str#

    値を取得する属性名。

  • strict bool (オプション)追加: v1.14#

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

  • timeout float (任意)#

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

戻り値


hover

v1.9 より前に追加 page.hover
非推奨

ロケーターベースの locator.hover() を代わりに使用してください。ロケーターの詳細をご覧ください。

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

  1. selector に一致する要素を検索します。一致する要素がない場合は、一致する要素が DOM にアタッチされるまで待機します。
  2. 操作可能性チェックが一致した要素に対して実行されるのを待ちます。ただし、force オプションが設定されている場合は除きます。チェック中に要素がデタッチされた場合、アクション全体が再試行されます。
  3. 必要に応じて、要素をビューにスクロールします。
  4. page.mouse を使用して、要素の中央、または指定された position にホバーします。

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

使用例

page.hover(selector)
page.hover(selector, **kwargs)

引数

  • selector str#

    要素を検索するためのセレクター。セレクターを満たす要素が複数ある場合は、最初の要素が使用されます。

  • force bool (任意)#

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

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

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

  • no_wait_after bool (オプション)追加: v1.28#

    非推奨

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

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

  • position Dict (任意)#

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

  • strict bool (オプション)追加: v1.14#

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

  • timeout float (任意)#

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

  • trial bool (オプション)バージョン 1.11 で追加#

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

戻り値


inner_html

v1.9 より前に追加 page.inner_html
非推奨

ロケーターベースの locator.inner_html() を代わりに使用してください。ロケーターの詳細をご覧ください。

element.innerHTML を返します。

使用例

page.inner_html(selector)
page.inner_html(selector, **kwargs)

引数

  • selector str#

    要素を検索するためのセレクター。セレクターを満たす要素が複数ある場合は、最初の要素が使用されます。

  • strict bool (オプション)追加: v1.14#

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

  • timeout float (任意)#

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

戻り値


inner_text

v1.9 より前に追加 page.inner_text
非推奨

ロケーターベースの locator.inner_text() を代わりに使用してください。ロケーターの詳細をご覧ください。

element.innerText を返します。

使用例

page.inner_text(selector)
page.inner_text(selector, **kwargs)

引数

  • selector str#

    要素を検索するためのセレクター。セレクターを満たす要素が複数ある場合は、最初の要素が使用されます。

  • strict bool (オプション)追加: v1.14#

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

  • timeout float (任意)#

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

戻り値


input_value

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

ロケーターベースの locator.input_value() を代わりに使用してください。ロケーターの詳細をご覧ください。

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

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

使用例

page.input_value(selector)
page.input_value(selector, **kwargs)

引数

  • selector str#

    要素を検索するためのセレクター。セレクターを満たす要素が複数ある場合は、最初の要素が使用されます。

  • strict bool (オプション)追加: v1.14#

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

  • timeout float (任意)#

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

戻り値


is_checked

v1.9 より前に追加 page.is_checked
非推奨

ロケーターベースの locator.is_checked() を代わりに使用してください。ロケーターの詳細をご覧ください。

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

使用例

page.is_checked(selector)
page.is_checked(selector, **kwargs)

引数

  • selector str#

    要素を検索するためのセレクター。セレクターを満たす要素が複数ある場合は、最初の要素が使用されます。

  • strict bool (オプション)追加: v1.14#

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

  • timeout float (任意)#

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

戻り値


is_disabled

v1.9 より前に追加 page.is_disabled
非推奨

ロケーターベースの locator.is_disabled() を代わりに使用してください。ロケーターの詳細をご覧ください。

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

使用例

page.is_disabled(selector)
page.is_disabled(selector, **kwargs)

引数

  • selector str#

    要素を検索するためのセレクター。セレクターを満たす要素が複数ある場合は、最初の要素が使用されます。

  • strict bool (オプション)追加: v1.14#

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

  • timeout float (任意)#

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

戻り値


is_editable

v1.9 より前に追加 page.is_editable
非推奨

ロケーターベースの locator.is_editable() を代わりに使用してください。ロケーターの詳細をご覧ください。

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

使用例

page.is_editable(selector)
page.is_editable(selector, **kwargs)

引数

  • selector str#

    要素を検索するためのセレクター。セレクターを満たす要素が複数ある場合は、最初の要素が使用されます。

  • strict bool (オプション)追加: v1.14#

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

  • timeout float (任意)#

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

戻り値


is_enabled

v1.9 より前に追加 page.is_enabled
非推奨

ロケーターベースの locator.is_enabled() を代わりに使用してください。ロケーターの詳細をご覧ください。

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

使用例

page.is_enabled(selector)
page.is_enabled(selector, **kwargs)

引数

  • selector str#

    要素を検索するためのセレクター。セレクターを満たす要素が複数ある場合は、最初の要素が使用されます。

  • strict bool (オプション)追加: v1.14#

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

  • timeout float (任意)#

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

戻り値


is_hidden

v1.9 より前に追加 page.is_hidden
非推奨

ロケーターベースの locator.is_hidden() を代わりに使用してください。ロケーターの詳細をご覧ください。

要素が非表示かどうかを返します。表示 の反対です。selector がどの要素にも一致しない場合、非表示とみなされます。

使用例

page.is_hidden(selector)
page.is_hidden(selector, **kwargs)

引数

  • selector str#

    要素を検索するためのセレクター。セレクターを満たす要素が複数ある場合は、最初の要素が使用されます。

  • strict bool (オプション)追加: v1.14#

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

  • timeout float (任意)#

    非推奨

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

戻り値


is_visible

v1.9 より前に追加 page.is_visible
非推奨

ロケーターベースの locator.is_visible() を代わりに使用してください。ロケーターの詳細をご覧ください。

要素が 表示 されているかどうかを返します。selector がどの要素にも一致しない場合、表示されていないとみなされます。

使用例

page.is_visible(selector)
page.is_visible(selector, **kwargs)

引数

  • selector str#

    要素を検索するためのセレクター。セレクターを満たす要素が複数ある場合は、最初の要素が使用されます。

  • strict bool (オプション)追加: v1.14#

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

  • timeout float (任意)#

    非推奨

    このオプションは無視されます。page.is_visible() は要素が表示されるのを待たずに、すぐに戻ります。

戻り値


press

v1.9 より前に追加 page.press
非推奨

ロケーターベースの locator.press() を代わりに使用してください。ロケーターの詳細をご覧ください。

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

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

F1 - F12Digit0- Digit9KeyA- KeyZBackquoteMinusEqualBackslashBackspaceTabDeleteEscapeArrowDownEndEnterHomeInsertPageDownPageUpArrowRightArrowUp など。

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

Shift キーを押しながら key に対応するテキストを大文字で入力します。

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

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

使用例

page = browser.new_page()
page.goto("https://keycode.info")
page.press("body", "A")
page.screenshot(path="a.png")
page.press("body", "ArrowLeft")
page.screenshot(path="arrow_left.png")
page.press("body", "Shift+O")
page.screenshot(path="o.png")
browser.close()

引数

  • selector str#

    要素を検索するためのセレクター。セレクターを満たす要素が複数ある場合は、最初の要素が使用されます。

  • key str#

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

  • delay float (任意)#

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

  • no_wait_after bool (任意)#

    非推奨

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

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

  • strict bool (オプション)追加: v1.14#

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

  • timeout float (任意)#

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

戻り値


query_selector

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

ロケーターベースの page.locator() を代わりに使用してください。ロケーターの詳細をご覧ください。

このメソッドは、ページ内で指定されたセレクターに一致する要素を検索します。セレクターに一致する要素がない場合、戻り値は null に解決されます。ページ上の要素を待機するには、locator.wait_for() を使用してください。

使用例

page.query_selector(selector)
page.query_selector(selector, **kwargs)

引数

  • selector str#

    クエリするセレクター。

  • strict bool (オプション)追加: v1.14#

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

戻り値


query_selector_all

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

ロケーターベースの page.locator() を代わりに使用してください。ロケーターの詳細をご覧ください。

このメソッドは、ページ内で指定されたセレクターに一致するすべての要素を検索します。セレクターに一致する要素がない場合、戻り値は [] に解決されます。

使用例

page.query_selector_all(selector)

引数

  • selector str#

    クエリするセレクター。

戻り値


select_option

v1.9 より前に追加 page.select_option
非推奨

ロケーターベースの locator.select_option() を代わりに使用してください。ロケーターの詳細をご覧ください。

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

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

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

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

使用例

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

引数

  • selector str#

    要素を検索するためのセレクター。セレクターを満たす要素が複数ある場合は、最初の要素が使用されます。

  • force bool (オプション)追加: v1.13#

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

  • no_wait_after bool (任意)#

    非推奨

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

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

  • strict bool (オプション)追加: v1.14#

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

  • timeout float (任意)#

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

  • element ElementHandle | List[ElementHandle] (任意)#

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

  • index int | List[int] (任意)#

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

  • value str | List[str] (任意)#

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

  • label str | List[str] (任意)#

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

戻り値


set_checked

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

ロケーターベースの locator.set_checked() を代わりに使用してください。ロケーターの詳細をご覧ください。

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

  1. selector に一致する要素を検索します。一致する要素がない場合は、一致する要素が DOM にアタッチされるまで待機します。
  2. 一致した要素がチェックボックスまたはラジオ入力であることを確認します。そうでない場合、このメソッドはエラーをスローします。
  3. 要素がすでに正しいチェック状態になっている場合、このメソッドはすぐに戻ります。
  4. 操作可能性チェックが一致した要素に対して実行されるのを待ちます。ただし、force オプションが設定されている場合は除きます。チェック中に要素がデタッチされた場合、アクション全体が再試行されます。
  5. 必要に応じて、要素をビューにスクロールします。
  6. page.mouse を使用して、要素の中央をクリックします。
  7. 要素がチェックまたはチェック解除されたことを確認します。そうでない場合、このメソッドはエラーをスローします。

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

使用例

page.set_checked(selector, checked)
page.set_checked(selector, checked, **kwargs)

引数

  • selector str#

    要素を検索するためのセレクター。セレクターを満たす要素が複数ある場合は、最初の要素が使用されます。

  • checked bool#

    チェックボックスをチェックするかチェック解除するか。

  • force bool (任意)#

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

  • no_wait_after bool (任意)#

    非推奨

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

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

  • position Dict (任意)#

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

  • strict bool (任意)#

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

  • timeout float (任意)#

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

  • trial bool (任意)#

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

戻り値


set_input_files

v1.9 より前に追加 page.set_input_files
非推奨

ロケーターベースの locator.set_input_files() を代わりに使用してください。ロケーターの詳細をご覧ください。

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

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

使用例

page.set_input_files(selector, files)
page.set_input_files(selector, files, **kwargs)

引数

  • selector str#

    要素を検索するためのセレクター。セレクターを満たす要素が複数ある場合は、最初の要素が使用されます。

  • files Union[str, pathlib.Path] | List[Union[str, pathlib.Path]] | Dict | List[Dict]#

    • name str

      ファイル名

    • mimeType str

      ファイルタイプ

    • buffer bytes

      ファイルコンテンツ

  • no_wait_after bool (任意)#

    非推奨

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

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

  • strict bool (オプション)追加: v1.14#

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

  • timeout float (任意)#

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

戻り値


tap

v1.9 より前に追加 page.tap
非推奨

ロケーターベースの locator.tap() を代わりに使用してください。ロケーターの詳細をご覧ください。

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

  1. selector に一致する要素を検索します。一致する要素がない場合は、一致する要素が DOM にアタッチされるまで待機します。
  2. 操作可能性チェックが一致した要素に対して実行されるのを待ちます。ただし、force オプションが設定されている場合は除きます。チェック中に要素がデタッチされた場合、アクション全体が再試行されます。
  3. 必要に応じて、要素をビューにスクロールします。
  4. page.touchscreen を使用して、要素の中央、または指定された position をタップします。

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

注記

page.tap() メソッドは、ブラウザーコンテキストの has_touch オプションが false の場合、エラーをスローします。

使用例

page.tap(selector)
page.tap(selector, **kwargs)

引数

  • selector str#

    要素を検索するためのセレクター。セレクターを満たす要素が複数ある場合は、最初の要素が使用されます。

  • force bool (任意)#

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

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

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

  • no_wait_after bool (任意)#

    非推奨

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

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

  • position Dict (オプション)#

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

  • strict bool (オプション)追加: v1.14#

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

  • timeout float (オプション)#

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

  • trial bool (オプション)バージョン 1.11 で追加#

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

戻り値


text_content

v1.9 より前に追加 page.text_content
非推奨

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

element.textContent を返します。

使用例

page.text_content(selector)
page.text_content(selector, **kwargs)

引数

  • selector str#

    要素を検索するためのセレクター。セレクターを満たす要素が複数ある場合は、最初の要素が使用されます。

  • strict bool (オプション)追加: v1.14#

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

  • timeout float (オプション)#

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

戻り値


type

v1.9 より前に追加 page.type
非推奨

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

テキスト内の各文字に対して、keydownkeypress/input、および keyup イベントを送信します。page.type は、きめ細かいキーボードイベントを送信するために使用できます。フォームフィールドに値を入力するには、page.fill() を使用してください。

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

使用例

引数

  • selector str#

    要素を検索するためのセレクター。セレクターを満たす要素が複数ある場合は、最初の要素が使用されます。

  • text str#

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

  • delay float (オプション)#

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

  • no_wait_after bool (オプション)#

    非推奨

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

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

  • strict bool (オプション)追加: v1.14#

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

  • timeout float (オプション)#

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

戻り値


uncheck

v1.9 より前に追加 page.uncheck
非推奨

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

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

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

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

使用例

page.uncheck(selector)
page.uncheck(selector, **kwargs)

引数

  • selector str#

    要素を検索するためのセレクター。セレクターを満たす要素が複数ある場合は、最初の要素が使用されます。

  • force bool (オプション)#

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

  • no_wait_after bool (オプション)#

    非推奨

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

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

  • position Dict (オプション)バージョン 1.11 で追加#

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

  • strict bool (オプション)追加: v1.14#

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

  • timeout float (オプション)#

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

  • trial bool (オプション)バージョン 1.11 で追加#

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

戻り値


wait_for_selector

v1.9 より前に追加 page.wait_for_selector
非推奨

代わりに、可視性をアサートするウェブアサーションまたはロケーターベースの locator.wait_for() を使用してください。ロケーターの詳細はこちらをご覧ください。

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

注記

Playwright は、アクションを実行する前に要素が準備完了になるのを自動的に待機します。Locator オブジェクトとウェブファーストのアサーションを使用すると、コードから wait_for_selector が不要になります。

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

使用例

このメソッドはナビゲーションをまたいで動作します。

from playwright.sync_api import sync_playwright, Playwright

def run(playwright: Playwright):
chromium = playwright.chromium
browser = chromium.launch()
page = browser.new_page()
for current_url in ["https://google.com", "https://bbc.com"]:
page.goto(current_url, wait_until="domcontentloaded")
element = page.wait_for_selector("img")
print("Loaded image: " + str(element.get_attribute("src")))
browser.close()

with sync_playwright() as playwright:
run(playwright)

引数

  • selector str#

    クエリするセレクター。

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

    デフォルトは 'visible' です。次のいずれかの値を指定できます。

    • 'attached' - 要素が DOM に存在している状態になるのを待ちます。
    • 'detached' - 要素が DOM に存在しなくなるのを待ちます。
    • 'visible' - 要素が空でない bounding box を持ち、visibility:hidden でないのを待ちます。コンテンツがない要素や display:none が設定されている要素は空の bounding box を持ち、表示されているとはみなされないことに注意してください。
    • 'hidden' - 要素が DOM からデタッチされるか、空の bounding box を持つか、visibility:hidden になるのを待ちます。これは 'visible' オプションの反対です。
  • strict bool (オプション)追加: v1.14#

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

  • timeout float (オプション)#

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

戻り値


wait_for_timeout

v1.9 より前に追加 page.wait_for_timeout
非推奨

本番環境でタイムアウトを待機しないでください。時間を待機するテストは本質的に不安定です。代わりに Locator アクションと自動的に待機するウェブアサーションを使用してください。

指定された timeout (ミリ秒) の間、待機します。

page.waitForTimeout() はデバッグ目的でのみ使用すべきであることに注意してください。本番環境でタイマーを使用するテストは不安定になります。代わりに、ネットワークイベントやセレクターの可視性などのシグナルを使用してください。

使用例

# wait for 1 second
page.wait_for_timeout(1000)

引数

  • timeout float#

    待機するタイムアウト時間。

戻り値