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

Frame

あらゆる時点において、ページは Page.mainFrame() および Frame.childFrames() メソッドを介して、現在のフレームツリーを公開します。

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

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

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

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 によってシリアライズできないいくつかの追加の値も転送できます: -0, NaN, Infinity, -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

iframeを操作する場合、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 として使用されます。必要に応じて、Selectors.setTestIdAttribute() を使用して異なるテスト ID 属性を設定できます。


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

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

使用法

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

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

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

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

戻り値


title

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

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

使用法

Frame.title();

戻り値


url

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

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

使用法

Frame.url();

戻り値


waitForFunction

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

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

使用法

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' - 推奨されません 少なくとも 500 ミリ秒間ネットワーク接続がないまで待ちます。テストにはこのメソッドを使用せず、代わりにウェブアサーションに頼って準備状況を評価してください。
  • 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' - 推奨されません 少なくとも500ミリ秒間ネットワーク接続がないときに操作が終了したと見なします。テストにはこのメソッドを使用せず、代わりにWebアサーションに依存して準備状況を評価してください。
      • 'commit' - ネットワーク応答が受信され、ドキュメントの読み込みが開始されたときに操作が終了したと見なします。

戻り値


非推奨

check

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

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

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

  1. selector に一致する要素を探します。一致する要素がない場合、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 位置 (オプション)追加されたバージョン: 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()を使用してください。ロケーターについて詳しくはこちらをご覧ください。

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

  1. selector に一致する要素を探します。一致する要素がない場合、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()を使用してください。ロケーターについて詳しくはこちらをご覧ください。

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

  1. selector に一致する要素を探します。一致する要素がない場合、DOM に一致する要素がアタッチされるまで待機します。
  2. setForce オプションが設定されていない限り、一致した要素に対する アクション可能性 チェックを待ちます。チェック中に要素がデタッチされた場合、すべてのアクションが再試行されます。
  3. 必要に応じて要素を表示するためにスクロールします。
  4. Page.mouse() を使用して、要素の中央、または指定された 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 ヘルパーメソッド、または Web-first アサーションを使用してください。

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()を使用してください。ロケーターについて詳しくはこちらをご覧ください。

このメソッドは、selector に一致する要素を待ち、アクション可能性 チェックを待ち、要素にフォーカスし、入力してから 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()を使用してください。ロケーターについて詳しくはこちらをご覧ください。

このメソッドは、selector に一致する要素を取得し、フォーカスします。selector に一致する要素がない場合、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()を使用してください。ロケーターについて詳しくはこちらをご覧ください。

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

  1. selector に一致する要素を探します。一致する要素がない場合、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()を使用してください。ロケーターについて詳しくはこちらをご覧ください。

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

使用法

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()を使用してください。ロケーターについて詳しくはこちらをご覧ください。

要素が visible かどうかを返します。いずれの要素にも一致しない selector は visible ではないと見なされます。

使用法

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など。

以下の修飾ショートカットもサポートされています: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 オブジェクトと Web-first アサーションを使用してください。

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

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

注意

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

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

使用法

Frame.querySelectorAll(selector);

引数

  • selector String#

    クエリするセレクター。

戻り値


selectOption

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

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

このメソッドは、selector に一致する要素を待ち、アクション可能性 チェックを待ち、指定されたすべてのオプションが <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 位置 (オプション)追加されたバージョン: 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' - 推奨されません 少なくとも500ミリ秒間ネットワーク接続がないときに操作が終了したと見なします。テストにはこのメソッドを使用せず、代わりにWebアサーションに依存して準備状況を評価してください。
      • 'commit' - ネットワーク応答が受信され、ドキュメントの読み込みが開始されたときに操作が終了したと見なします。
  • callback Runnable追加バージョン: v1.9#

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

戻り値


waitForSelector

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

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

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

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

セレクター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#

    待機するタイムアウト

戻り値