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

Frame

page は常に、現在のフレームツリーを page.main_frameframe.child_frames メソッドを介して公開します。

Frame オブジェクトのライフサイクルは、ページオブジェクト上でディスパッチされる3つのイベントによって制御されます。

  • page.on("frameattached") - フレームがページにアタッチされたときに発生します。フレームはページに一度だけアタッチされます。
  • page.on("framenavigated") - フレームが別の URL へのナビゲーションをコミットしたときに発生します。
  • page.on("framedetached") - フレームがページからデタッチされたときに発生します。フレームはページから一度だけデタッチされます。

フレームツリーのダンプの例

from playwright.sync_api import sync_playwright, Playwright

def run(playwright: Playwright):
firefox = playwright.firefox
browser = firefox.launch()
page = browser.new_page()
page.goto("https://www.theverge.com")
dump_frame_tree(page.main_frame, "")
browser.close()

def dump_frame_tree(frame, indent):
print(indent + frame.name + '@' + frame.url)
for child in frame.child_frames:
dump_frame_tree(child, indent + " ")

with sync_playwright() as playwright:
run(playwright)

メソッド

add_script_tag

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

スクリプトの onload が発火したとき、またはスクリプトの内容がフレームに注入されたときに追加されたタグを返します。

指定された URL またはコンテンツを持つ <script> タグをページに追加します。

使用法

frame.add_script_tag()
frame.add_script_tag(**kwargs)

引数

  • content str (optional)#

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

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

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

  • type str (optional)#

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

  • url str (optional)#

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

戻り値


add_style_tag

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

スタイルシートの onload が発火したとき、または CSS コンテンツがフレームに注入されたときに追加されたタグを返します。

目的の URL を持つ <link rel="stylesheet"> タグ、またはコンテンツを持つ <style type="text/css"> タグをページに追加します。

使用法

frame.add_style_tag()
frame.add_style_tag(**kwargs)

引数

  • content str (optional)#

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

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

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

  • url str (optional)#

    <link>タグのURL。

戻り値


content

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

doctype を含む、フレームの完全な HTML コンテンツを取得します。

使用法

frame.content()

戻り値


drag_and_drop

追加バージョン: v1.13 frame.drag_and_drop

使用法

frame.drag_and_drop(source, target)
frame.drag_and_drop(source, target, **kwargs)

引数

  • source str#

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

  • target str#

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

  • force bool (optional)#

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

  • no_wait_after bool (optional)#

    非推奨

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

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

  • source_position Dict (optional)追加されたバージョン: v1.14#

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

  • strict bool (オプション)追加されたバージョン: v1.14#

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

  • target_position Dict (optional)追加されたバージョン: v1.14#

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

  • timeout float (optional)#

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

  • trial bool (optional)#

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

戻り値


evaluate

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

expressionの戻り値を返します。

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

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

使用法

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

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

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

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

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

引数

  • expression str#

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

  • arg EvaluationArgument (optional)#

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

戻り値


evaluate_handle

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

expression の戻り値を JSHandle として返します。

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

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

使用法

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

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

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

JSHandle インスタンスは frame.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 (optional)#

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

戻り値


frame_element

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

このフレームに対応する frame または iframe 要素ハンドルを返します。

これは element_handle.content_frame() の逆です。返されるハンドルは実際には親フレームに属していることに注意してください。

このメソッドは、frameElement() が返される前にフレームがデタッチされた場合、エラーをスローします。

使用法

frame_element = frame.frame_element()
content_frame = frame_element.content_frame()
assert frame == content_frame

戻り値


frame_locator

追加バージョン: v1.17 frame.frame_locator

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

使用法

次のスニペットは、IDがmy-frameのiframeにあるテキスト「Submit」を持つ要素を検索します(例: <iframe id="my-frame">)。

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

引数

  • selector str#

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

戻り値


get_by_alt_text

追加バージョン: v1.27 frame.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 (optional)#

    完全一致(大文字小文字を区別し、文字列全体)を見つけるかどうか。デフォルトはfalse。正規表現で特定する場合は無視されます。正確な一致でも空白はトリムされることに注意してください。

戻り値


get_by_label

追加バージョン: v1.27 frame.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 (optional)#

    完全一致(大文字小文字を区別し、文字列全体)を見つけるかどうか。デフォルトはfalse。正規表現で特定する場合は無視されます。正確な一致でも空白はトリムされることに注意してください。

戻り値


get_by_placeholder

追加バージョン: v1.27 frame.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 (optional)#

    完全一致(大文字小文字を区別し、文字列全体)を見つけるかどうか。デフォルトはfalse。正規表現で特定する場合は無視されます。正確な一致でも空白はトリムされることに注意してください。

戻り値


get_by_role

追加バージョン: v1.27 frame.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 (optional)#

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

    aria-checkedの詳細。

  • disabled bool (optional)#

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

    他のほとんどの属性とは異なり、disabledはDOM階層を介して継承されます。aria-disabledの詳細。

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

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

  • expanded bool (optional)#

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

    aria-expandedの詳細。

  • include_hidden bool (optional)#

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

    aria-hiddenの詳細。

  • level int (optional)#

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

    aria-levelの詳細。

  • name str | Pattern (optional)#

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

    アクセシブルネームの詳細。

  • pressed bool (optional)#

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

    aria-pressedの詳細。

  • selected bool (optional)#

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

    aria-selectedの詳細。

戻り値

詳細

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

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


get_by_test_id

追加バージョン: v1.27 frame.get_by_test_id

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

使用法

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

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

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

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

引数

戻り値

詳細

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


get_by_text

追加バージョン: v1.27 frame.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 (optional)#

    完全一致(大文字小文字を区別し、文字列全体)を見つけるかどうか。デフォルトはfalse。正規表現で特定する場合は無視されます。正確な一致でも空白はトリムされることに注意してください。

戻り値

詳細

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

buttonおよびsubmit型の入力要素は、テキストコンテンツの代わりにそのvalueによって一致します。例えば、テキスト"Log in"で特定すると、<input type=button value="Log in">が一致します。


get_by_title

追加バージョン: v1.27 frame.get_by_title

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

使用法

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

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

タイトルテキストで問題数を特定した後、確認できます。

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

引数

  • text str | Pattern#

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

  • exact bool (optional)#

    完全一致(大文字小文字を区別し、文字列全体)を見つけるかどうか。デフォルトはfalse。正規表現で特定する場合は無視されます。正確な一致でも空白はトリムされることに注意してください。

戻り値


goto

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

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

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

  • SSLエラーがある場合(例: 自己署名証明書の場合)。
  • ターゲットURLが無効な場合。
  • timeout を超えてナビゲーションが行われた場合。
  • リモートサーバーが応答しないか、アクセスできない場合。
  • メインリソースの読み込みに失敗した場合。

このメソッドは、404「Not Found」や500「Internal Server Error」を含む、有効なHTTPステータスコードがリモートサーバーから返されてもエラーをスローしません。これらの応答のステータスコードは response.status を呼び出すことで取得できます。

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

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

使用法

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

引数

  • url str#

    フレームをナビゲートする URL。URL にはスキーム (例: https://) を含める必要があります。

  • referer str (optional)#

    Refererヘッダー値。指定された場合、page.set_extra_http_headers() によって設定されたRefererヘッダー値よりも優先されます。

  • timeout float (optional)#

    操作の最大時間 (ミリ秒単位)。デフォルトは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" (optional)#

    操作が成功したと見なすタイミング。デフォルトはloadです。イベントは次のいずれかです。

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

戻り値


is_enabled

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

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

使用法

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

引数

  • selector str#

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

  • strict bool (オプション)追加されたバージョン: v1.14#

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

  • timeout float (optional)#

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

戻り値


locator

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

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

ロケーターの詳細.

ロケーターの詳細.

使用法

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

引数

  • selector str#

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

  • has Locator (optional)#

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

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

    外側のロケーターと内側のロケーターは同じフレームに属している必要があります。内側のロケーターには FrameLocator を含めることはできません。

  • has_not ロケーター (オプション)追加バージョン: v1.33#

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

    外側のロケーターと内側のロケーターは同じフレームに属している必要があります。内側のロケーターには FrameLocator を含めることはできません。

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

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

  • has_text str | Pattern (optional)#

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

戻り値


set_content

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

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

使用法

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

引数

  • html str#

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

  • timeout float (optional)#

    操作の最大時間 (ミリ秒単位)。デフォルトは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" (optional)#

    操作が成功したと見なすタイミング。デフォルトはloadです。イベントは次のいずれかです。

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

戻り値


title

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

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

使用法

frame.title()

戻り値


wait_for_function

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

expression が真値を返したときに、その値を返します。

使用法

frame.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.main_frame.wait_for_function("() => window.x > 0")
browser.close()

with sync_playwright() as playwright:
run(playwright)

frame.waitForFunction 関数の述語に引数を渡すには

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

引数

  • expression str#

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

  • arg EvaluationArgument (optional)#

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

  • polling float | "raf" (optional)#

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

  • timeout float (optional)#

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

戻り値


wait_for_load_state

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

必要な読み込み状態に到達するまで待ちます。

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

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

使用法

frame.click("button") # click triggers navigation.
frame.wait_for_load_state() # the promise resolves after "load" event.

引数

  • state "load" | "domcontentloaded" | "networkidle" (optional)#

    待機するオプションの読み込み状態。デフォルトは load です。現在のドキュメントの読み込み中にすでに状態に達している場合、メソッドはすぐに解決します。次のいずれかです。

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

    操作の最大時間 (ミリ秒単位)。デフォルトは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

追加されたバージョン: v1.11 frame.wait_for_url

フレームが指定された URL にナビゲートするまで待ちます。

使用法

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

引数

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

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

  • timeout float (optional)#

    操作の最大時間 (ミリ秒単位)。デフォルトは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" (optional)#

    操作が成功したと見なすタイミング。デフォルトはloadです。イベントは次のいずれかです。

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

戻り値


プロパティ

child_frames

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

使用法

frame.child_frames

戻り値


is_detached

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

フレームがデタッチされている場合は true を、それ以外の場合は false を返します。

使用法

frame.is_detached()

戻り値


name

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

タグで指定されたフレームの name 属性を返します。

名前が空の場合、代わりに id 属性を返します。

この値は、フレームが作成されたときに一度計算され、後で属性が変更されても更新されません。

使用法

frame.name

戻り値


page

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

このフレームを含むページを返します。

使用法

frame.page

戻り値


parent_frame

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

親フレームがある場合、親フレームを返します。デタッチされたフレームとメインフレームは null を返します。

使用法

frame.parent_frame

戻り値


url

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

フレームの URL を返します。

使用法

frame.url

戻り値


非推奨

check

v1.9より前に追加 frame.check
推奨されません

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

このメソッドは、セレクターに一致する要素を、以下の手順でチェックします。

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

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

使用法

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

引数

  • selector str#

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

  • force bool (optional)#

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

  • no_wait_after bool (optional)#

    非推奨

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

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

  • position Dict (オプション)追加されたバージョン: v1.11#

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

  • strict bool (オプション)追加されたバージョン: v1.14#

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

  • timeout float (optional)#

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

  • trial bool (オプション)追加されたバージョン: v1.11#

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

戻り値


click

v1.9より前に追加 frame.click
推奨されません

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

このメソッドは、セレクターに一致する要素を、以下の手順でクリックします。

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

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

使用法

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

引数

  • selector str#

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

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

    デフォルトは left です。

  • click_count int (optional)#

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

  • delay float (optional)#

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

  • force bool (optional)#

    アクション性チェックをバイパスするかどうか。デフォルトは 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)#

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

  • strict bool (オプション)追加されたバージョン: v1.14#

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

  • timeout float (optional)#

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

  • trial bool (オプション)追加されたバージョン: v1.11#

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

戻り値


dblclick

v1.9より前に追加 frame.dblclick
推奨されません

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

このメソッドは、セレクターに一致する要素を、以下の手順でダブルクリックします。

  1. selector に一致する要素を探します。一致する要素がない場合、一致する要素が DOM にアタッチされるまで待機します。
  2. force オプションが設定されていない限り、一致した要素の アクション可能性 チェックを待ちます。チェック中に要素がデタッチされた場合、すべてのアクションが再試行されます。
  3. 必要に応じて要素を表示するためにスクロールします。
  4. 要素の中央または指定された position をダブルクリックするために page.mouse を使用します。dblclick() の最初のクリックがナビゲーションイベントをトリガーした場合、このメソッドは例外をスローします。

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

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

使用法

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

引数

  • selector str#

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

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

    デフォルトは left です。

  • delay float (optional)#

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

  • force bool (optional)#

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

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

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

  • no_wait_after bool (optional)#

    非推奨

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

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

  • position Dict (optional)#

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

  • strict bool (オプション)追加されたバージョン: v1.14#

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

  • timeout float (optional)#

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

  • trial bool (オプション)追加されたバージョン: v1.11#

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

戻り値


dispatch_event

v1.9より前に追加 frame.dispatch_event
推奨されません

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

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

使用法

frame.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 = frame.evaluate_handle("new DataTransfer()")
frame.dispatch_event("#source", "dragstart", { "dataTransfer": data_transfer })

引数

  • selector str#

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

  • type str#

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

  • event_init EvaluationArgument (optional)#

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

  • strict bool (オプション)追加されたバージョン: v1.14#

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

  • timeout float (optional)#

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

戻り値


eval_on_selector

追加バージョン: v1.9 frame.eval_on_selector
推奨されません

このメソッドは、要素がアクションアビリティチェックを通過するのを待たないため、不安定なテストにつながる可能性があります。locator.evaluate()、その他の Locator ヘルパーメソッド、またはウェブファーストアサーションを使用してください。

expression の戻り値を返します。

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

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

使用法

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

引数

  • selector str#

    クエリするセレクター。

  • expression str#

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

  • arg EvaluationArgument (optional)#

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

  • strict bool (オプション)追加されたバージョン: v1.14#

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

戻り値


eval_on_selector_all

追加バージョン: v1.9 frame.eval_on_selector_all
推奨されません

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

expression の戻り値を返します。

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

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

使用法

divs_counts = frame.eval_on_selector_all("div", "(divs, min) => divs.length >= min", 10)

引数

  • selector str#

    クエリするセレクター。

  • expression str#

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

  • arg EvaluationArgument (optional)#

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

戻り値


expect_navigation

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

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

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

使用法

このメソッドは、フレームが新しい URL にナビゲートするのを待ちます。フレームを間接的にナビゲートさせるコードを実行する場合に便利です。この例を検討してください。

with frame.expect_navigation():
frame.click("a.delayed-navigation") # clicking the link will indirectly cause a navigation
# Resolves after navigation has finished

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

引数

  • timeout float (optional)#

    操作の最大時間 (ミリ秒単位)。デフォルトは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 (optional)#

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

  • wait_until "load" | "domcontentloaded" | "networkidle" | "commit" (optional)#

    操作が成功したと見なすタイミング。デフォルトはloadです。イベントは次のいずれかです。

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

戻り値


fill

v1.9より前に追加 frame.fill
推奨されません

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

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

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

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

使用法

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

引数

  • selector str#

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

  • value str#

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

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

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

  • no_wait_after bool (optional)#

    非推奨

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

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

  • strict bool (オプション)追加されたバージョン: v1.14#

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

  • timeout float (optional)#

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

戻り値


focus

v1.9より前に追加 frame.focus
推奨されません

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

このメソッドは、セレクターに一致する要素を取得し、フォーカスします。セレクターに一致する要素がない場合、一致する要素が DOM に現れるまでメソッドは待機します。

使用法

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

引数

  • selector str#

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

  • strict bool (オプション)追加されたバージョン: v1.14#

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

  • timeout float (optional)#

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

戻り値


get_attribute

v1.9より前に追加 frame.get_attribute
推奨されません

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

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

使用法

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

引数

  • selector str#

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

  • name str#

    値を取得する属性名。

  • strict bool (オプション)追加されたバージョン: v1.14#

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

  • timeout float (optional)#

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

戻り値


hover

v1.9より前に追加 frame.hover
推奨されません

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

このメソッドは、セレクターに一致する要素を、以下の手順でホバーします。

  1. selector に一致する要素を探します。一致する要素がない場合、一致する要素が DOM にアタッチされるまで待機します。
  2. force オプションが設定されていない限り、一致した要素の アクション可能性 チェックを待ちます。チェック中に要素がデタッチされた場合、すべてのアクションが再試行されます。
  3. 必要に応じて要素を表示するためにスクロールします。
  4. 要素の中央または指定された position にホバーするために page.mouse を使用します。

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

使用法

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

引数

  • selector str#

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

  • force bool (optional)#

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

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

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

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

    非推奨

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

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

  • position Dict (optional)#

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

  • strict bool (オプション)追加されたバージョン: v1.14#

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

  • timeout float (optional)#

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

  • trial bool (オプション)追加されたバージョン: v1.11#

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

戻り値


inner_html

v1.9より前に追加 frame.inner_html
推奨されません

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

element.innerHTML を返します。

使用法

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

引数

  • selector str#

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

  • strict bool (オプション)追加されたバージョン: v1.14#

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

  • timeout float (optional)#

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

戻り値


inner_text

v1.9より前に追加 frame.inner_text
推奨されません

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

element.innerText を返します。

使用法

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

引数

  • selector str#

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

  • strict bool (オプション)追加されたバージョン: v1.14#

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

  • timeout float (optional)#

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

戻り値


input_value

追加バージョン: v1.13 frame.input_value
推奨されません

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

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

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

使用法

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

引数

  • selector str#

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

  • strict bool (オプション)追加されたバージョン: v1.14#

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

  • timeout float (optional)#

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

戻り値


is_checked

v1.9より前に追加 frame.is_checked
推奨されません

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

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

使用法

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

引数

  • selector str#

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

  • strict bool (オプション)追加されたバージョン: v1.14#

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

  • timeout float (optional)#

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

戻り値


is_disabled

v1.9より前に追加 frame.is_disabled
推奨されません

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

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

使用法

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

引数

  • selector str#

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

  • strict bool (オプション)追加されたバージョン: v1.14#

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

  • timeout float (optional)#

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

戻り値


is_editable

v1.9より前に追加 frame.is_editable
推奨されません

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

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

使用法

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

引数

  • selector str#

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

  • strict bool (オプション)追加されたバージョン: v1.14#

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

  • timeout float (optional)#

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

戻り値


is_hidden

v1.9より前に追加 frame.is_hidden
推奨されません

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

要素が非表示かどうかを返します。visible の反対です。要素と一致しない selector は非表示と見なされます。

使用法

frame.is_hidden(selector)
frame.is_hidden(selector, **kwargs)

引数

  • selector str#

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

  • strict bool (オプション)追加されたバージョン: v1.14#

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

  • timeout float (オプション)#

    非推奨

    このオプションは無視されます。frame.is_hidden()は要素が非表示になるのを待たずにすぐに戻ります。

戻り値


is_visible

v1.9より前に追加 frame.is_visible
推奨されません

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

要素が表示されているかどうかを返します。要素に一致しないセレクタは非表示とみなされます。

使用法

frame.is_visible(selector)
frame.is_visible(selector, **kwargs)

引数

  • selector str#

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

  • strict bool (オプション)追加されたバージョン: v1.14#

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

  • timeout float (オプション)#

    非推奨

    このオプションは無視されます。frame.is_visible()は要素が表示されるのを待たずにすぐに戻ります。

戻り値


press

v1.9より前に追加 frame.press
推奨されません

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

keyは、目的のkeyboardEvent.key値、またはテキストを生成する単一の文字を指定できます。key値のスーパーセットはこちらで見つけることができます。キーの例は次のとおりです。

F1 - F12, Digit0- Digit9, KeyA- KeyZ, Backquote, Minus, Equal, Backslash, Backspace, Tab, Delete, Escape, ArrowDown, End, Enter, Home, Insert, PageDown, PageUp, ArrowRight, ArrowUpなど。

以下の修飾ショートカットもサポートされています:Shift, Control, Alt, Meta, ShiftLeft, ControlOrMetaControlOrMetaはWindowsおよびLinuxではControlに、macOSではMetaに解決されます。

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

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

key: "Control+o"key: "Control++key: "Control+Shift+T"のようなショートカットもサポートされています。修飾キーを指定した場合、修飾キーは押し続けられ、その後に続くキーが押されます。

使用法

frame.press(selector, key)
frame.press(selector, key, **kwargs)

引数

  • 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 frame.query_selector
推奨されません

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

フレーム要素を指す ElementHandle を返します。

注意

ElementHandleの使用は非推奨です。Locatorオブジェクトとweb-firstアサーションを使用してください。

このメソッドは、フレーム内で指定されたセレクターに一致する要素を検索します。セレクターに一致する要素がない場合、null を返します。

使用法

frame.query_selector(selector)
frame.query_selector(selector, **kwargs)

引数

  • selector str#

    クエリするセレクター。

  • strict bool (オプション)追加されたバージョン: v1.14#

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

戻り値


query_selector_all

追加バージョン: v1.9 frame.query_selector_all
推奨されません

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

フレーム要素を指す ElementHandles を返します。

注意

ElementHandleの使用は非推奨です。Locatorオブジェクトを使用してください。

このメソッドは、フレーム内で指定されたセレクターに一致するすべての要素を検索します。セレクターに一致する要素がない場合、空の配列を返します。

使用法

frame.query_selector_all(selector)

引数

  • selector str#

    クエリするセレクター。

戻り値


select_option

v1.9より前に追加 frame.select_option
推奨されません

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

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

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

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

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

使用法

# Single selection matching the value or label
frame.select_option("select#colors", "blue")
# single selection matching both the label
frame.select_option("select#colors", label="blue")
# multiple selection
frame.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 frame.set_checked
推奨されません

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

このメソッドは、次の手順を実行してセレクタに一致する要素をチェックまたはアンチェックします。

  1. セレクタに一致する要素を見つけます。見つからない場合は、一致する要素がDOMにアタッチされるまで待機します。
  2. 一致する要素がチェックボックスまたはラジオ入力であることを確認します。そうでない場合、このメソッドはエラーをスローします。
  3. 要素がすでに正しいチェック状態である場合、このメソッドはすぐに戻ります。
  4. forceオプションが設定されていない限り、一致した要素に対してアクション可能性チェックを待ちます。チェック中に要素がデタッチされた場合、アクション全体が再試行されます。
  5. 必要に応じて要素を表示するためにスクロールします。
  6. page.mouse を使用して要素の中央をクリックします。
  7. 要素がチェックまたはチェック解除されたことを確認します。そうでない場合、このメソッドはエラーをスローします。

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

使用法

frame.set_checked(selector, checked)
frame.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より前に追加 frame.set_input_files
推奨されません

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

ファイル入力の値をこれらのファイルパスまたはファイルに設定します。いくつかのfilePathsが相対パスの場合、現在の作業ディレクトリからの相対パスとして解決されます。空の配列の場合、選択されたファイルをクリアします。

このメソッドは、セレクタinput要素を指していることを期待します。ただし、要素が関連するcontrolを持つ<label>要素内にある場合は、代わりにコントロールをターゲットとします。

使用法

frame.set_input_files(selector, files)
frame.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より前に追加 frame.tap
推奨されません

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

このメソッドは、次の手順を実行してセレクタに一致する要素をタップします。

  1. セレクタに一致する要素を見つけます。見つからない場合は、一致する要素がDOMにアタッチされるまで待機します。
  2. forceオプションが設定されていない限り、一致した要素に対してアクション可能性チェックを待ちます。チェック中に要素がデタッチされた場合、アクション全体が再試行されます。
  3. 必要に応じて要素を表示するためにスクロールします。
  4. page.touchscreenを使用して、要素の中心、または指定された位置をタップします。

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

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

使用法

frame.tap(selector)
frame.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 (オプション)追加されたバージョン: v1.11#

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

戻り値


text_content

v1.9より前に追加 frame.text_content
推奨されません

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

element.textContent を返します。

使用法

frame.text_content(selector)
frame.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より前に追加 frame.type
非推奨

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

テキスト内の各文字に対してkeydownkeypress/input、およびkeyupイベントを送信します。frame.typeは、きめ細かいキーボードイベントを送信するために使用できます。フォームフィールドに値を入力するには、frame.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より前に追加 frame.uncheck
推奨されません

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

このメソッドは、次の手順を実行してセレクタに一致する要素をチェック解除します。

  1. セレクタに一致する要素を見つけます。見つからない場合は、一致する要素がDOMにアタッチされるまで待機します。
  2. 一致する要素がチェックボックスまたはラジオ入力であることを確認します。そうでない場合、このメソッドはスローされます。要素がすでにチェック解除されている場合、このメソッドは即座に返します。
  3. forceオプションが設定されていない限り、一致した要素に対してアクション可能性チェックを待ちます。チェック中に要素がデタッチされた場合、アクション全体が再試行されます。
  4. 必要に応じて要素を表示するためにスクロールします。
  5. page.mouse を使用して要素の中央をクリックします。
  6. 要素がチェックされていないことを確認します。そうでない場合、このメソッドはエラーをスローします。

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

使用法

frame.uncheck(selector)
frame.uncheck(selector, **kwargs)

引数

  • selector str#

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

  • force bool (オプション)#

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

  • no_wait_after bool (オプション)#

    非推奨

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

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

  • position Dict (オプション)追加されたバージョン: v1.11#

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

  • strict bool (オプション)追加されたバージョン: v1.14#

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

  • timeout float (オプション)#

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

  • trial bool (オプション)追加されたバージョン: v1.11#

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

戻り値


wait_for_selector

v1.9より前に追加 frame.wait_for_selector
推奨されません

表示をアサートするWebアサーションまたはロケータベースのlocator.wait_for()を使用してください。ロケータについて詳しくはこちら。

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

Playwrightは、アクションを実行する前に要素が準備完了になるのを自動的に待機します。LocatorオブジェクトとWebファーストアサーションを使用すると、コードがwait-for-selector-freeになります。

セレクタstateオプションを満たすまで待機します(DOMに表示/非表示になる、または可視/非可視になる)。メソッド呼び出しの時点でセレクタがすでに条件を満たしている場合、メソッドはすぐに戻ります。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.main_frame.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' - 要素が空でない境界ボックスを持ち、visibility:hiddenがないことを待ちます。コンテンツがない要素やdisplay:noneの要素は空の境界ボックスを持つため、可視とはみなされないことに注意してください。
    • 'hidden' - 要素がDOMからデタッチされているか、空の境界ボックスを持つか、または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より前に追加 frame.wait_for_timeout
推奨されません

本番環境でタイムアウトを待機しないでください。時間を待機するテストは本質的に不安定です。自動的に待機するLocatorアクションとWebアサーションを使用してください。

指定されたタイムアウト(ミリ秒)まで待機します。

frame.waitForTimeout() はデバッグ目的でのみ使用すべきであることに注意してください。本番環境でタイマーを使用するテストは不安定になるでしょう。代わりに、ネットワークイベント、セレクターの可視化などのシグナルを使用してください。

使用法

frame.wait_for_timeout(timeout)

引数

  • timeout float#

    待機するタイムアウト

戻り値