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

Frame

ページの現在のフレームツリーは、常にPage.mainFrame()メソッドとFrame.childFrames()メソッドを介して公開されます。

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

  • Page.onFrameAttached(handler) - フレームがページにアタッチされたときに発生します。フレームはページに一度だけアタッチできます。
  • Page.onFrameNavigated(handler) - フレームが異なるURLへのナビゲーションをコミットしたときに発生します。
  • Page.onFrameDetached(handler) - フレームがページからデタッチされたときに発生します。フレームはページから一度だけデタッチできます。

フレームツリーをダンプする例

import com.microsoft.playwright.*;

public class Example {
public static void main(String[] args) {
try (Playwright playwright = Playwright.create()) {
BrowserType firefox = playwright.firefox();
Browser browser = firefox.launch();
Page page = browser.newPage();
page.navigate("https://www.google.com/chrome/browser/canary.html");
dumpFrameTree(page.mainFrame(), "");
browser.close();
}
}
static void dumpFrameTree(Frame frame, String indent) {
System.out.println(indent + frame.url());
for (Frame child : frame.childFrames()) {
dumpFrameTree(child, indent + " ");
}
}
}

メソッド

addScriptTag

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

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

目的のURLまたはコンテンツを持つ<script>タグをページに追加します。

使用方法

Frame.addScriptTag();
Frame.addScriptTag(options);

引数

  • options Frame.AddScriptTagOptions (オプション)
    • setContent String (オプション)#

      フレームに注入する生のJavaScriptコンテンツ。

    • setPath Path (オプション)#

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

    • setType String (オプション)#

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

    • setUrl String (オプション)#

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

戻り値


addStyleTag

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

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

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

使用方法

Frame.addStyleTag();
Frame.addStyleTag(options);

引数

  • options Frame.AddStyleTagOptions (オプション)
    • setContent String (オプション)#

      フレームに注入する生のCSSコンテンツ。

    • setPath Path (オプション)#

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

    • setUrl String (オプション)#

      <link>タグのURL。

戻り値


childFrames

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

使用方法

Frame.childFrames();

戻り値


content

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

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

使用方法

Frame.content();

戻り値


dragAndDrop

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

使用方法

Frame.dragAndDrop(source, target);
Frame.dragAndDrop(source, target, options);

引数

  • source String#

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

  • target String#

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

  • options Frame.DragAndDropOptions (オプション)

    • setForce boolean (オプション)#

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

    • setNoWaitAfter boolean (オプション)#

      非推奨

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

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

    • setSourcePosition SourcePosition (オプション)追加バージョン: v1.14#

      要素のパディングボックスの左上隅からの相対位置で、ソース要素のこの点をクリックします。指定されていない場合、要素の表示されているいずれかの点が使用されます。

    • setStrict boolean (オプション)追加バージョン: v1.14#

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

    • setTargetPosition TargetPosition (オプション)追加バージョン: v1.14#

      要素のパディングボックスの左上隅からの相対位置で、ターゲット要素のこの点にドロップします。指定されていない場合、要素の表示されているいずれかの点が使用されます。

    • setTimeout double (オプション)#

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

    • setTrial boolean (オプション)#

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

戻り値


evaluate

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

expressionの戻り値を返します。

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

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

使用方法

Object result = frame.evaluate("([x, y]) => {\n" +
" return Promise.resolve(x * y);\n" +
"}", Arrays.asList(7, 8));
System.out.println(result); // prints "56"

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

System.out.println(frame.evaluate("1 + 2")); // prints "3"

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

ElementHandle bodyHandle = frame.evaluate("document.body");
String html = (String) frame.evaluate("([body, suffix]) => body.innerHTML + suffix", Arrays.asList(bodyHandle, "hello"));
bodyHandle.dispose();

引数

  • expression String#

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

  • arg EvaluationArgument (オプション)#

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

戻り値


evaluateHandle

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

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

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

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

使用方法

// Handle for the window object.
JSHandle aWindowHandle = frame.evaluateHandle("() => Promise.resolve(window)");

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

JSHandle aHandle = frame.evaluateHandle("document"); // Handle for the "document".

JSHandleインスタンスはFrame.evaluateHandle()への引数として渡すことができます。

JSHandle aHandle = frame.evaluateHandle("() => document.body");
JSHandle resultHandle = frame.evaluateHandle("([body, suffix]) => body.innerHTML + suffix", Arrays.asList(aHandle, "hello"));
System.out.println(resultHandle.jsonValue());
resultHandle.dispose();

引数

  • expression String#

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

  • arg EvaluationArgument (オプション)#

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

戻り値


frameElement

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

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

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

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

使用方法

ElementHandle frameElement = frame.frameElement();
Frame contentFrame = frameElement.contentFrame();
System.out.println(frame == contentFrame); // -> true

戻り値


frameLocator

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

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

使用方法

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

Locator locator = frame.frameLocator("#my-iframe").getByText("Submit");
locator.click();

引数

  • selector String#

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

戻り値


getByAltText

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

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

使用方法

例として、このメソッドはaltテキスト「Playwright logo」で画像を見つけます。

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

引数

  • text String | Pattern#

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

  • options Frame.GetByAltTextOptions (オプション)

    • setExact boolean (オプション)#

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

戻り値


getByLabel

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

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

使用方法

例えば、このメソッドは以下のDOMにおいて「Username」と「Password」というラベルで入力を見つけます。

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

引数

  • text String | Pattern#

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

  • options Frame.GetByLabelOptions (オプション)

    • setExact boolean (オプション)#

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

戻り値


getByPlaceholder

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

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

使用方法

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

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

プレースホルダーテキストで入力を特定した後、入力フィールドに入力できます。

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

引数

  • text String | Pattern#

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

  • options Frame.GetByPlaceholderOptions (オプション)

    • setExact boolean (オプション)#

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

戻り値


getByRole

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

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

使用方法

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

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

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

assertThat(page
.getByRole(AriaRole.HEADING,
new Page.GetByRoleOptions().setName("Sign up")))
.isVisible();

page.getByRole(AriaRole.CHECKBOX,
new Page.GetByRoleOptions().setName("Subscribe"))
.check();

page.getByRole(AriaRole.BUTTON,
new Page.GetByRoleOptions().setName(
Pattern.compile("submit", Pattern.CASE_INSENSITIVE)))
.click();

引数

  • role enum AriaRole { 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ロール。

  • options Frame.GetByRoleOptions (オプション)

    • setChecked boolean (オプション)#

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

      aria-checkedの詳細はこちら。

    • setDisabled boolean (オプション)#

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

      注釈

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

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

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

    • setExpanded boolean (オプション)#

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

      aria-expandedの詳細はこちら。

    • setIncludeHidden boolean (オプション)#

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

      aria-hiddenの詳細はこちら。

    • setLevel int (オプション)#

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

      aria-levelの詳細はこちら。

    • setName String | Pattern (オプション)#

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

      アクセシブルネームの詳細はこちら。

    • setPressed boolean (オプション)#

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

      aria-pressedの詳細はこちら。

    • setSelected boolean (オプション)#

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

      aria-selectedの詳細はこちら。

戻り値

詳細

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

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


getByTestId

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

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

使用方法

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

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

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

page.getByTestId("directions").click();

引数

戻り値

詳細

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


getByText

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

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

アクセシブルロールなどの別の基準で一致させ、その後テキストコンテンツでフィルターをかけることができるLocator.filter()も参照してください。

使用方法

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

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

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

// Matches <span>
page.getByText("world");

// Matches first <div>
page.getByText("Hello world");

// Matches second <div>
page.getByText("Hello", new Page.GetByTextOptions().setExact(true));

// Matches both <div>s
page.getByText(Pattern.compile("Hello"));

// Matches second <div>
page.getByText(Pattern.compile("^hello$", Pattern.CASE_INSENSITIVE));

引数

  • text String | Pattern#

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

  • options Frame.GetByTextOptions (オプション)

    • setExact boolean (オプション)#

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

戻り値

詳細

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

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


getByTitle

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

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

使用方法

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

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

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

assertThat(page.getByTitle("Issues count")).hasText("25 issues");

引数

  • text String | Pattern#

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

  • options Frame.GetByTitleOptions (オプション)

    • setExact boolean (オプション)#

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

戻り値


isDetached

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

フレームがデタッチされた場合はtrueを、そうでない場合はfalseを返します。

使用方法

Frame.isDetached();

戻り値


isEnabled

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

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

使用方法

Frame.isEnabled(selector);
Frame.isEnabled(selector, options);

引数

  • selector String#

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

  • options Frame.IsEnabledOptions (オプション)

    • setStrict boolean (オプション)追加バージョン: v1.14#

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

    • setTimeout double (オプション)#

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

戻り値


locator

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

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

ロケーターの詳細はこちら.

ロケーターの詳細はこちら.

使用方法

Frame.locator(selector);
Frame.locator(selector, options);

引数

  • selector String#

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

  • options Frame.LocatorOptions (オプション)

    • setHas Locator (オプション)#

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

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

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

    • setHasNot Locator (オプション)追加バージョン: v1.33#

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

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

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

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

    • setHasText String | Pattern (オプション)#

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

戻り値


name

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

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

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

注釈

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

使用方法

Frame.name();

戻り値


navigate

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

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

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

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

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

注釈

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

注釈

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

使用方法

Frame.navigate(url);
Frame.navigate(url, options);

引数

  • url String#

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

  • options Frame.NavigateOptions (オプション)

    • setReferer String (オプション)#

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

    • setTimeout double (オプション)#

      操作の最大時間(ミリ秒単位)。デフォルトは30秒です。0を渡すとタイムアウトが無効になります。デフォルト値は、BrowserContext.setDefaultNavigationTimeout()BrowserContext.setDefaultTimeout()Page.setDefaultNavigationTimeout()、またはPage.setDefaultTimeout()メソッドを使用して変更できます。

    • setWaitUntil enum WaitUntilState { LOAD, DOMCONTENTLOADED, NETWORKIDLE, COMMIT } (オプション)#

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

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

戻り値


page

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

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

使用方法

Frame.page();

戻り値


parentFrame

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

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

使用方法

Frame.parentFrame();

戻り値


setContent

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

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

使用方法

Frame.setContent(html);
Frame.setContent(html, options);

引数

  • html String#

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

  • options Frame.SetContentOptions (オプション)

    • setTimeout double (オプション)#

      操作の最大時間(ミリ秒単位)。デフォルトは30秒です。0を渡すとタイムアウトが無効になります。デフォルト値は、BrowserContext.setDefaultNavigationTimeout()BrowserContext.setDefaultTimeout()Page.setDefaultNavigationTimeout()、またはPage.setDefaultTimeout()メソッドを使用して変更できます。

    • setWaitUntil enum WaitUntilState { LOAD, DOMCONTENTLOADED, NETWORKIDLE, COMMIT } (オプション)#

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

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

戻り値


title

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

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

使用方法

Frame.title();

戻り値


url

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

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

使用方法

Frame.url();

戻り値


waitForFunction

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

expressionがtruthyな値を返すと、その値を返します。

使用方法

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

import com.microsoft.playwright.*;

public class Example {
public static void main(String[] args) {
try (Playwright playwright = Playwright.create()) {
BrowserType firefox = playwright.firefox();
Browser browser = firefox.launch();
Page page = browser.newPage();
page.setViewportSize(50, 50);
page.mainFrame().waitForFunction("window.innerWidth < 100");
browser.close();
}
}
}

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

String selector = ".foo";
frame.waitForFunction("selector => !!document.querySelector(selector)", selector);

引数

  • expression String#

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

  • arg EvaluationArgument (オプション)#

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

  • options Frame.WaitForFunctionOptions (オプション)

    • setPollingInterval double (オプション)#

      指定された場合、関数が実行される間隔(ミリ秒単位)として扱われます。デフォルトでは、このオプションが指定されていない場合、expressionrequestAnimationFrameコールバックで実行されます。

    • setTimeout double (オプション)#

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

戻り値


waitForLoadState

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

必要なロード状態に達するまで待機します。

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

注釈

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

使用方法

frame.click("button"); // Click triggers navigation.
frame.waitForLoadState(); // Waits for "load" state by default.

引数

  • state enum LoadState { LOAD, DOMCONTENTLOADED, NETWORKIDLE } (オプション)#

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

    • 'load' - loadイベントが発火するまで待機します。
    • 'domcontentloaded' - DOMContentLoadedイベントが発火するまで待機します。
    • 'networkidle' - **非推奨** 少なくとも500ms間ネットワーク接続がないまで待機します。このメソッドはテストには使用せず、代わりにウェブアサーションに依存して準備状況を評価してください。
  • options Frame.WaitForLoadStateOptions (オプション)

戻り値


waitForURL

追加バージョン: v1.11 frame.waitForURL

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

使用方法

frame.click("a.delayed-navigation"); // Clicking the link will indirectly cause a navigation
frame.waitForURL("**/target.html");

引数

  • url String | Pattern | Predicate<String>#

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

  • options Frame.WaitForURLOptions (オプション)

    • setTimeout double (オプション)#

      操作の最大時間(ミリ秒単位)。デフォルトは30秒です。0を渡すとタイムアウトが無効になります。デフォルト値は、BrowserContext.setDefaultNavigationTimeout()BrowserContext.setDefaultTimeout()Page.setDefaultNavigationTimeout()、またはPage.setDefaultTimeout()メソッドを使用して変更できます。

    • setWaitUntil enum WaitUntilState { LOAD, DOMCONTENTLOADED, NETWORKIDLE, COMMIT } (オプション)#

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

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

戻り値


非推奨

check

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

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

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

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

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

使用方法

Frame.check(selector);
Frame.check(selector, options);

引数

  • selector String#

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

  • options Frame.CheckOptions (オプション)

    • setForce boolean (オプション)#

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

    • setNoWaitAfter boolean (オプション)#

      非推奨

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

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

    • setPosition Position (オプション)追加バージョン: v1.11#

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

    • setStrict boolean (オプション)追加バージョン: v1.14#

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

    • setTimeout double (オプション)#

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

    • setTrial boolean (オプション)追加バージョン: v1.11#

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

戻り値


click

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

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

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

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

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

使用方法

Frame.click(selector);
Frame.click(selector, options);

引数

  • selector String#

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

  • options Frame.ClickOptions (オプション)

    • setButton enum MouseButton { LEFT, RIGHT, MIDDLE } (オプション)#

      デフォルトはleftです。

    • setClickCount int (オプション)#

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

    • setDelay double (オプション)#

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

    • setForce boolean (オプション)#

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

    • setModifiers List<enum KeyboardModifier { ALT, CONTROL, CONTROLORMETA, META, SHIFT }> (オプション)#

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

    • setNoWaitAfter boolean (オプション)#

      非推奨

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

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

    • setPosition Position (オプション)#

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

    • setStrict boolean (オプション)追加バージョン: v1.14#

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

    • setTimeout double (オプション)#

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

    • setTrial boolean (オプション)追加バージョン: v1.11#

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

戻り値


dblclick

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

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

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

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

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

注釈

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

使用方法

Frame.dblclick(selector);
Frame.dblclick(selector, options);

引数

  • selector String#

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

  • options Frame.DblclickOptions (オプション)

    • setButton enum MouseButton { LEFT, RIGHT, MIDDLE } (オプション)#

      デフォルトはleftです。

    • setDelay double (オプション)#

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

    • setForce boolean (オプション)#

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

    • setModifiers List<enum KeyboardModifier { ALT, CONTROL, CONTROLORMETA, META, SHIFT }> (オプション)#

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

    • setNoWaitAfter boolean (オプション)#

      非推奨

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

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

    • setPosition Position (オプション)#

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

    • setStrict boolean (オプション)追加バージョン: v1.14#

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

    • setTimeout double (オプション)#

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

    • setTrial boolean (オプション)追加バージョン: v1.11#

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

戻り値


dispatchEvent

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

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

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

使用方法

frame.dispatchEvent("button#submit", "click");

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

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

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

// Note you can only create DataTransfer in Chromium and Firefox
JSHandle dataTransfer = frame.evaluateHandle("() => new DataTransfer()");
Map<String, Object> arg = new HashMap<>();
arg.put("dataTransfer", dataTransfer);
frame.dispatchEvent("#source", "dragstart", arg);

引数

  • selector String#

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

  • type String#

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

  • eventInit EvaluationArgument (オプション)#

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

  • options Frame.DispatchEventOptions (オプション)

    • setStrict boolean (オプション)追加バージョン: v1.14#

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

    • setTimeout double (オプション)#

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

戻り値


evalOnSelector

追加バージョン: v1.9 frame.evalOnSelector
非推奨

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

expression の戻り値を返します。

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

もし expressionPromise を返す場合、Frame.evalOnSelector() はPromiseが解決されるまで待機し、その値を返します。

使用方法

String searchValue = (String) frame.evalOnSelector("#search", "el => el.value");
String preloadHref = (String) frame.evalOnSelector("link[rel=preload]", "el => el.href");
String html = (String) frame.evalOnSelector(".main-container", "(e, suffix) => e.outerHTML + suffix", "hello");

引数

  • selector String#

    クエリするセレクター。

  • expression String#

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

  • arg EvaluationArgument (オプション)#

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

  • options Frame.EvalOnSelectorOptions (オプション)

    • setStrict boolean (オプション)追加バージョン: v1.14#

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

戻り値


evalOnSelectorAll

追加バージョン: v1.9 frame.evalOnSelectorAll
非推奨

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

expression の戻り値を返します。

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

もし expressionPromise を返す場合、Frame.evalOnSelectorAll() はPromiseが解決されるまで待機し、その値を返します。

使用方法

boolean divsCounts = (boolean) page.evalOnSelectorAll("div", "(divs, min) => divs.length >= min", 10);

引数

  • selector String#

    クエリするセレクター。

  • expression String#

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

  • arg EvaluationArgument (オプション)#

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

戻り値


fill

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

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

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

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

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

使用方法

Frame.fill(selector, value);
Frame.fill(selector, value, options);

引数

  • selector String#

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

  • value String#

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

  • options Frame.FillOptions (オプション)

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

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

    • setNoWaitAfter boolean (オプション)#

      非推奨

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

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

    • setStrict boolean (オプション)追加バージョン: v1.14#

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

    • setTimeout double (オプション)#

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

戻り値


focus

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

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

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

使用方法

Frame.focus(selector);
Frame.focus(selector, options);

引数

  • selector String#

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

  • options Frame.FocusOptions (オプション)

    • setStrict boolean (オプション)追加バージョン: v1.14#

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

    • setTimeout double (オプション)#

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

戻り値


getAttribute

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

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

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

使用方法

Frame.getAttribute(selector, name);
Frame.getAttribute(selector, name, options);

引数

  • selector String#

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

  • name String#

    値を取得する属性名。

  • options Frame.GetAttributeOptions (オプション)

    • setStrict boolean (オプション)追加バージョン: v1.14#

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

    • setTimeout double (オプション)#

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

戻り値


hover

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

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

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

  1. セレクター に一致する要素を見つけます。一致する要素がない場合、一致する要素がDOMにアタッチされるまで待機します。
  2. setForce オプションが設定されていない限り、一致した要素の アクション可能性 チェックを待機します。チェック中に要素がデタッチされた場合、アクション全体が再試行されます。
  3. 必要に応じて要素をビューにスクロールします。
  4. Page.mouse() を使用して、要素の中央または指定された setPosition にホバーします。

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

使用方法

Frame.hover(selector);
Frame.hover(selector, options);

引数

  • selector String#

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

  • options Frame.HoverOptions (オプション)

    • setForce boolean (オプション)#

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

    • setModifiers List<enum KeyboardModifier { ALT, CONTROL, CONTROLORMETA, META, SHIFT }> (オプション)#

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

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

      非推奨

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

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

    • setPosition Position (オプション)#

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

    • setStrict boolean (オプション)追加バージョン: v1.14#

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

    • setTimeout double (オプション)#

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

    • setTrial boolean (オプション)追加バージョン: v1.11#

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

戻り値


innerHTML

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

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

element.innerHTML を返します。

使用方法

Frame.innerHTML(selector);
Frame.innerHTML(selector, options);

引数

  • selector String#

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

  • options Frame.InnerHTMLOptions (オプション)

    • setStrict boolean (オプション)追加バージョン: v1.14#

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

    • setTimeout double (オプション)#

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

戻り値


innerText

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

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

element.innerText を返します。

使用方法

Frame.innerText(selector);
Frame.innerText(selector, options);

引数

  • selector String#

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

  • options Frame.InnerTextOptions (オプション)

    • setStrict boolean (オプション)追加バージョン: v1.14#

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

    • setTimeout double (オプション)#

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

戻り値


inputValue

追加バージョン: v1.13 frame.inputValue
非推奨

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

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

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

使用方法

Frame.inputValue(selector);
Frame.inputValue(selector, options);

引数

  • selector String#

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

  • options Frame.InputValueOptions (オプション)

    • setStrict boolean (オプション)追加バージョン: v1.14#

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

    • setTimeout double (オプション)#

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

戻り値


isChecked

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

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

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

使用方法

Frame.isChecked(selector);
Frame.isChecked(selector, options);

引数

  • selector String#

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

  • options Frame.IsCheckedOptions (オプション)

    • setStrict boolean (オプション)追加バージョン: v1.14#

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

    • setTimeout double (オプション)#

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

戻り値


isDisabled

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

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

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

使用方法

Frame.isDisabled(selector);
Frame.isDisabled(selector, options);

引数

  • selector String#

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

  • options Frame.IsDisabledOptions (オプション)

    • setStrict boolean (オプション)追加バージョン: v1.14#

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

    • setTimeout double (オプション)#

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

戻り値


isEditable

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

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

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

使用方法

Frame.isEditable(selector);
Frame.isEditable(selector, options);

引数

  • selector String#

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

  • options Frame.IsEditableOptions (オプション)

    • setStrict boolean (オプション)追加バージョン: v1.14#

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

    • setTimeout double (オプション)#

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

戻り値


isHidden

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

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

要素が非表示であるかどうかを返します。可視 の反対です。どの要素にも一致しない セレクター は非表示と見なされます。

使用方法

Frame.isHidden(selector);
Frame.isHidden(selector, options);

引数

  • selector String#

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

  • options Frame.IsHiddenOptions (オプション)

    • setStrict boolean (オプション)追加バージョン: v1.14#

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

    • setTimeout double (オプション)#

      非推奨

      このオプションは無視されます。Frame.isHidden() は要素が非表示になるのを待たずに即座に返します。

戻り値


isVisible

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

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

要素が 可視 であるかどうかを返します。どの要素にも一致しない セレクター は非可視と見なされます。

使用方法

Frame.isVisible(selector);
Frame.isVisible(selector, options);

引数

  • selector String#

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

  • options Frame.IsVisibleOptions (オプション)

    • setStrict boolean (オプション)追加バージョン: v1.14#

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

    • setTimeout double (オプション)#

      非推奨

      このオプションは無視されます。Frame.isVisible() は要素が可視になるのを待たずに即座に返します。

戻り値


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, etc.

以下の修飾ショートカットもサポートされています: 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, options);

引数

  • selector String#

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

  • key String#

    ArrowLefta のように、押すキーの名前または生成する文字。

  • options Frame.PressOptions (オプション)

    • setDelay double (オプション)#

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

    • setNoWaitAfter boolean (オプション)#

      非推奨

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

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

    • setStrict boolean (オプション)追加バージョン: v1.14#

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

    • setTimeout double (オプション)#

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

戻り値


querySelector

追加バージョン: v1.9 frame.querySelector
非推奨

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

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

注意

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

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

使用方法

Frame.querySelector(selector);
Frame.querySelector(selector, options);

引数

  • selector String#

    クエリするセレクター。

  • options Frame.QuerySelectorOptions (オプション)

    • setStrict boolean (オプション)追加バージョン: v1.14#

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

戻り値


querySelectorAll

追加バージョン: v1.9 frame.querySelectorAll
非推奨

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

フレーム要素を指す ElementHandle のリストを返します。

注意

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

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

使用方法

Frame.querySelectorAll(selector);

引数

  • selector String#

    クエリするセレクター。

戻り値


selectOption

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

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

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

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

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

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

使用方法

// Single selection matching the value or label
frame.selectOption("select#colors", "blue");
// single selection matching both the value and the label
frame.selectOption("select#colors", new SelectOption().setLabel("Blue"));
// multiple selection
frame.selectOption("select#colors", new String[] {"red", "green", "blue"});

引数

  • selector String#

    クエリするセレクター。

  • values null | String | ElementHandle | String[] | SelectOption | ElementHandle[] | SelectOption[]#

    • setValue String (オプション)

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

    • setLabel String (オプション)

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

    • setIndex int (オプション)

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

    選択するオプション。<select>multiple 属性を持つ場合、一致するすべてのオプションが選択され、そうでない場合は渡されたオプションのいずれかに一致する最初のオプションのみが選択されます。文字列値は、値とラベルの両方に一致します。すべての指定されたプロパティが一致する場合、オプションは一致すると見なされます。

  • options Frame.SelectOptionOptions (オプション)

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

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

    • setNoWaitAfter boolean (オプション)#

      非推奨

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

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

    • setStrict boolean (オプション)追加バージョン: v1.14#

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

    • setTimeout double (オプション)#

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

戻り値


setChecked

追加バージョン: v1.15 frame.setChecked
非推奨

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

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

  1. セレクターに一致する要素を見つけます。一致する要素がない場合は、一致する要素がDOMにアタッチされるまで待機します。
  2. 一致する要素がチェックボックスまたはラジオ入力であることを確認します。そうでない場合、このメソッドは例外をスローします。
  3. 要素がすでに正しいチェック状態にある場合、このメソッドは直ちに返されます。
  4. 一致する要素に対するアクション可能チェックを待機します。setForce オプションが設定されている場合は除きます。チェック中に要素がデタッチされた場合、アクション全体が再試行されます。
  5. 必要に応じて要素をビューにスクロールします。
  6. Page.mouse()を使用して要素の中央をクリックします。
  7. 要素が現在チェック済みまたはアンチェック済みであることを確認します。そうでない場合、このメソッドは例外をスローします。

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

使用方法

Frame.setChecked(selector, checked);
Frame.setChecked(selector, checked, options);

引数

  • selector String#

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

  • checked boolean#

    チェックボックスをチェックするか、アンチェックするかを指定します。

  • options Frame.SetCheckedOptions (オプション)

    • setForce boolean (オプション)#

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

    • setNoWaitAfter boolean (オプション)#

      非推奨

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

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

    • setPosition Position (オプション)#

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

    • setStrict boolean (オプション)#

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

    • setTimeout double (オプション)#

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

    • setTrial boolean (オプション)#

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

戻り値


setInputFiles

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

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

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

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

使用方法

Frame.setInputFiles(selector, files);
Frame.setInputFiles(selector, files, options);

引数

  • selector String#

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

  • files Path | Path[] | FilePayload | FilePayload[]#

    • setName String

      ファイル名

    • setMimeType String

      ファイルの種類

    • setBuffer byte[]

      ファイルの内容

  • options Frame.SetInputFilesOptions (オプション)

    • setNoWaitAfter boolean (オプション)#

      非推奨

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

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

    • setStrict boolean (オプション)追加バージョン: v1.14#

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

    • setTimeout double (オプション)#

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

戻り値


tap

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

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

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

  1. セレクターに一致する要素を見つけます。一致する要素がない場合は、一致する要素がDOMにアタッチされるまで待機します。
  2. 一致する要素に対するアクション可能チェックを待機します。setForce オプションが設定されている場合は除きます。チェック中に要素がデタッチされた場合、アクション全体が再試行されます。
  3. 必要に応じて要素をビューにスクロールします。
  4. Page.touchscreen() を使用して、要素の中央または指定されたsetPositionをタップします。

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

注釈

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

使用方法

Frame.tap(selector);
Frame.tap(selector, options);

引数

  • selector String#

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

  • options Frame.TapOptions (オプション)

    • setForce boolean (オプション)#

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

    • setModifiers List<enum KeyboardModifier { ALT, CONTROL, CONTROLORMETA, META, SHIFT }> (オプション)#

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

    • setNoWaitAfter boolean (オプション)#

      非推奨

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

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

    • setPosition Position (オプション)#

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

    • setStrict boolean (オプション)追加バージョン: v1.14#

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

    • setTimeout double (オプション)#

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

    • setTrial boolean (オプション)追加バージョン: v1.11#

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

戻り値


textContent

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

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

element.textContent を返します。

使用方法

Frame.textContent(selector);
Frame.textContent(selector, options);

引数

  • selector String#

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

  • options Frame.TextContentOptions (オプション)

    • setStrict boolean (オプション)追加バージョン: v1.14#

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

    • setTimeout double (オプション)#

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

戻り値


type

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

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

テキストの各文字に対して、keydownkeypress/input、および keyup イベントを送信します。frame.type は、きめ細かいキーボードイベントを送信するために使用できます。フォームフィールドに値を入力するには、Frame.fill() を使用してください。

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

使用方法

引数

  • selector String#

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

  • text String#

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

  • options Frame.TypeOptions (オプション)

    • setDelay double (オプション)#

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

    • setNoWaitAfter boolean (オプション)#

      非推奨

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

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

    • setStrict boolean (オプション)追加バージョン: v1.14#

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

    • setTimeout double (オプション)#

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

戻り値


uncheck

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

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

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

  1. セレクターに一致する要素を見つけます。一致する要素がない場合は、一致する要素がDOMにアタッチされるまで待機します。
  2. 一致する要素がチェックボックスまたはラジオ入力であることを確認します。そうでない場合、このメソッドは例外をスローします。要素がすでにアンチェックされている場合、このメソッドは直ちに返されます。
  3. 一致する要素に対するアクション可能チェックを待機します。setForce オプションが設定されている場合は除きます。チェック中に要素がデタッチされた場合、アクション全体が再試行されます。
  4. 必要に応じて要素をビューにスクロールします。
  5. Page.mouse()を使用して要素の中央をクリックします。
  6. 要素が現在アンチェック済みであることを確認します。そうでない場合、このメソッドは例外をスローします。

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

使用方法

Frame.uncheck(selector);
Frame.uncheck(selector, options);

引数

  • selector String#

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

  • options Frame.UncheckOptions (オプション)

    • setForce boolean (オプション)#

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

    • setNoWaitAfter boolean (オプション)#

      非推奨

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

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

    • setPosition Position (オプション)追加バージョン: v1.11#

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

    • setStrict boolean (オプション)追加バージョン: v1.14#

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

    • setTimeout double (オプション)#

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

    • setTrial boolean (オプション)追加バージョン: v1.11#

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

戻り値


waitForNavigation

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

このメソッドは本質的に競合状態になりやすいです。代わりに Frame.waitForURL() を使用してください。

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

使用方法

このメソッドは、フレームが新しいURLにナビゲートするのを待機します。間接的にフレームのナビゲーションを引き起こすコードを実行する場合に役立ちます。例:

// The method returns after navigation has finished
frame.waitForNavigation(() -> {
// Clicking the link will indirectly cause a navigation
frame.click("a.delayed-navigation");
});
注釈

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

引数

  • options Frame.WaitForNavigationOptions (オプション)

    • setTimeout double (オプション)#

      操作の最大時間(ミリ秒単位)。デフォルトは30秒です。0を渡すとタイムアウトが無効になります。デフォルト値は、BrowserContext.setDefaultNavigationTimeout()BrowserContext.setDefaultTimeout()Page.setDefaultNavigationTimeout()、またはPage.setDefaultTimeout()メソッドを使用して変更できます。

    • setUrl String | Pattern | Predicate<String> (オプション)#

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

    • setWaitUntil enum WaitUntilState { LOAD, DOMCONTENTLOADED, NETWORKIDLE, COMMIT } (オプション)#

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

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

    イベントをトリガーするアクションを実行するコールバック。

戻り値


waitForSelector

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

可視性をアサートするウェブアサーション、またはロケーターベースの Locator.waitFor() を使用してください。ロケーターの詳細については、こちらをご覧ください。

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

注釈

Playwrightは、アクションを実行する前に要素が準備完了になるのを自動的に待機します。Locator オブジェクトとウェブファーストアサーションを使用すると、コードからセレクターの待機が不要になります。

セレクターsetState オプション(DOMからの出現/消失、または可視/非可視化)を満たすのを待機します。メソッド呼び出し時にセレクターがすでに条件を満たしている場合、メソッドは直ちに返されます。指定されたsetTimeoutミリ秒の間セレクターが条件を満たさない場合、関数は例外をスローします。

使用方法

このメソッドはナビゲーションをまたいで機能します。

import com.microsoft.playwright.*;

public class Example {
public static void main(String[] args) {
try (Playwright playwright = Playwright.create()) {
BrowserType chromium = playwright.chromium();
Browser browser = chromium.launch();
Page page = browser.newPage();
for (String currentURL : Arrays.asList("https://google.com", "https://bbc.com")) {
page.navigate(currentURL);
ElementHandle element = page.mainFrame().waitForSelector("img");
System.out.println("Loaded image: " + element.getAttribute("src"));
}
browser.close();
}
}
}

引数

  • selector String#

    クエリするセレクター。

  • options Frame.WaitForSelectorOptions (オプション)

    • setState enum WaitForSelectorState { ATTACHED, DETACHED, VISIBLE, HIDDEN } (オプション)#

      デフォルトは 'visible' です。以下いずれか。

      • 'attached' - 要素がDOMに存在することを待ちます。
      • 'detached' - 要素がDOMに存在しないことを待ちます。
      • 'visible' - 要素が空でない境界ボックスを持ち、visibility:hidden がないことを待ちます。コンテンツがない要素や display:none の要素は、空の境界ボックスを持つため、可視とは見なされないことに注意してください。
      • 'hidden' - 要素がDOMからデタッチされるか、空の境界ボックスを持つか、visibility:hidden であることを待ちます。これは 'visible' オプションの反対です。
    • setStrict boolean (オプション)追加バージョン: v1.14#

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

    • setTimeout double (オプション)#

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

戻り値


waitForTimeout

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

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

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

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

使用方法

Frame.waitForTimeout(timeout);

引数

  • timeout double#

    待機するタイムアウト値

戻り値