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

Frame

ページは常に、page.main_frame メソッドと frame.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 (オプション)#

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

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

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

  • type str (オプション)#

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

  • url str (オプション)#

    追加されるスクリプトの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 (オプション)#

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

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

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

  • url str (オプション)#

    <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 (オプション)#

    操作性チェックをバイパスするかどうか。デフォルトは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です。アクションを実行せずに、要素がアクションの準備ができるまで待機するのに役立ちます。

戻り値


evaluate

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

expressionの戻り値を返します。

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

frame.evaluate()に渡された関数が、シリアライズ可能でない値を返す場合、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 (オプション)#

    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 (オプション)#

    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内の要素を選択できるフレームロケーターを作成できます。

使用法

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

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 (オプション)#

    完全一致を検索するかどうか:大文字小文字を区別し、文字列全体が一致する必要があります。デフォルトは 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 (オプション)#

    完全一致を検索するかどうか:大文字小文字を区別し、文字列全体が一致する必要があります。デフォルトは 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 (オプション)#

    完全一致を検索するかどうか:大文字小文字を区別し、文字列全体が一致する必要があります。デフォルトは 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 (オプション)#

    通常、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 ガイドラインでは、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 (オプション)#

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

戻り値

詳細

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

タイプが button および submit の入力要素は、テキスト コンテンツではなく value によって一致します。たとえば、テキスト "Log in" で検索すると、<input type=button value="Log in"> が一致します。


get_by_title

追加: v1.27 frame.get_by_title

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 (オプション)#

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

戻り値


goto

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

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

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

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

このメソッドは、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 (オプション)#

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

  • 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' - ネットワーク レスポンスを受信し、ドキュメントのロードが開始されたときに操作が完了したとみなします。

戻り値


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 (オプション)#

    ミリ秒単位の最大時間。デフォルトは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 (オプション)#

    メソッドの結果を、この相対ロケーターに一致する要素を含むものに絞り込みます。たとえば、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#

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

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

    指定されたテキストを内部、または子孫要素のどこかに含む要素に一致します。[文字列]が渡されると、マッチングは大文字と小文字を区別せず、部分文字列を検索します。たとえば、"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 (オプション)#

    操作の最大時間 (ミリ秒単位)。デフォルトは 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' - ネットワーク レスポンスを受信し、ドキュメントのロードが開始されたときに操作が完了したとみなします。

戻り値


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 (オプション)#

    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より前に追加 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" (オプション)#

    待機するオプションのロード状態。デフォルトは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

追加: 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#

    ナビゲーションを待機中に一致するグロブパターン、正規表現パターン、またはURLを受け取る述語。パラメーターがワイルドカード文字を含まない文字列である場合、メソッドはその文字列と完全に等しい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' - ネットワーク レスポンスを受信し、ドキュメントのロードが開始されたときに操作が完了したとみなします。

戻り値


プロパティ

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

<frame>タグで指定されているフレームの名前属性を返します。

名前が空の場合は、代わりに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()を使用してください。ロケーターの詳細を参照してください。

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

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

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

使用法

frame.check(selector)
frame.check(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です。アクションを実行せずに、要素がアクションの準備ができるまで待機するのに役立ちます。

戻り値


click

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

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

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

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

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

使用法

frame.click(selector)
frame.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 (オプション)追加: v1.11#

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

戻り値


dblclick

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

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

このメソッドは、次のステップを実行して、セレクターに一致する要素をダブルクリックします。

  1. セレクターに一致する要素を見つけます。一致する要素がない場合は、一致する要素がDOMに追加されるまで待機します。
  2. forceオプションが設定されていない限り、一致した要素に対してactionabilityチェックを実行するまで待機します。チェック中に要素が分離された場合、アクション全体が再試行されます。
  3. 必要に応じて、要素をビューにスクロールします。
  4. page.mouseを使用して、要素の中心、または指定されたpositionでダブルクリックします。dblclick()の最初のクリックでナビゲーションイベントがトリガーされた場合、このメソッドは例外をスローします。

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

注記

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

使用法

frame.dblclick(selector)
frame.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 (オプション)追加: v1.11#

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

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

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

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

  • timeout float (オプション)#

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

戻り値


eval_on_selector

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

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

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 (オプション)#

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

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

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

戻り値


eval_on_selector_all

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

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

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 (オプション)#

    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 (オプション)#

    操作の最大時間 (ミリ秒単位)。デフォルトは 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を受け取る述語。パラメーターがワイルドカード文字を含まない文字列である場合、メソッドはその文字列と完全に等しいURLへのナビゲーションを待機することに注意してください。

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

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

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

戻り値


fill

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

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

このメソッドは、セレクターに一致する要素を待機し、actionabilityチェックを待機し、要素にフォーカスを当て、それを入力し、入力後に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 (オプション)#

    非推奨

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

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

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

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

  • timeout float (オプション)#

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

戻り値


フォーカス

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

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

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

使用法

frame.focus(selector)
frame.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より前に追加 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 (任意)#

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

戻り値


hover

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

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

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

  1. selectorに一致する要素を検索します。存在しない場合は、一致する要素がDOMに追加されるまで待機します。
  2. forceオプションが設定されていない限り、一致した要素に対して操作可能性チェックを待機します。チェック中に要素が切り離された場合、アクション全体が再試行されます。
  3. 必要に応じて、要素をビューにスクロールします。
  4. page.mouseを使用して、要素の中心、または指定された位置にマウスオーバーします。

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

使用法

frame.hover(selector)
frame.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 (オプション)追加: v1.11#

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

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

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

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

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

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

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

戻り値


is_hidden

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

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

要素が非表示かどうかを返します。表示の反対です。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()を使用してください。ロケーターの詳細はこちらをご覧ください。

要素が表示かどうかを返します。selectorがどの要素にも一致しない場合は、表示されないとみなされます。

使用法

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 - F12Digit0- Digit9KeyA- KeyZBackquoteMinusEqualBackslashBackspaceTabDeleteEscapeArrowDownEndEnterHomeInsertPageDownPageUpArrowRightArrowUpなど。

次の修飾子のショートカットもサポートされています:ShiftControlAltMetaShiftLeftControlOrMetaControlOrMetaは、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 ファーストのアサーションを使用してください。

このメソッドは、フレーム内で指定されたセレクターに一致する要素を検索します。セレクターに一致する要素がない場合は、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()を使用してください。ロケーターの詳細はこちらをご覧ください。

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

注意

ElementHandle の使用は推奨されません。Locator オブジェクトを使用してください。

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

使用法

frame.query_selector_all(selector)

引数

  • selector str#

    クエリするセレクター。

戻り値


select_option

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

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

このメソッドは、セレクターに一致する要素を待ち、操作性チェックを待ち、指定されたすべてのオプションが <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. 要素がチェックまたはチェック解除されたことを確認します。そうでない場合、このメソッドは例外をスローします。

指定された タイムアウト中にすべての手順が完了しなかった場合、このメソッドは 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 要素を指すことを想定しています。ただし、要素が関連する コントロールを持つ <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 を使用して、要素の中心、または指定された position をタップします。

指定された タイムアウト中にすべての手順が完了しなかった場合、このメソッドは 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#

    設定すると、このメソッドはactionabilityチェックのみを実行し、アクションをスキップします。デフォルトは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()を使用してください。ロケーターの詳細をお読みください。

このメソッドは、次のステップを実行して、selectorに一致する要素をチェックします。

  1. selectorに一致する要素を検索します。存在しない場合は、一致する要素がDOMにアタッチされるまで待ちます。
  2. 一致する要素がチェックボックスまたはラジオ入力であることを確認します。そうでない場合、このメソッドは例外をスローします。要素がすでにチェックされていない場合、このメソッドはすぐに返ります。
  3. forceオプションが設定されていない限り、一致する要素のactionabilityチェックを待ちます。チェック中に要素がデタッチされた場合、アクション全体が再試行されます。
  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()を使用してください。ロケーターの詳細をお読みください。

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

注記

Playwrightは、アクションを実行する前に、要素が準備できるのを自動的に待ちます。LocatorオブジェクトとWebファーストアサーションを使用すると、コードは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.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アサーションを使用してください。

指定されたtimeoutをミリ秒単位で待ちます。

frame.waitForTimeout()はデバッグにのみ使用する必要があることに注意してください。実稼働環境でタイマーを使用するテストは不安定になります。代わりに、ネットワークイベント、セレクターの可視化などの信号を使用してください。

使用法

frame.wait_for_timeout(timeout)

引数

  • timeout float

    待機するタイムアウト

戻り値