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

Frame

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

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

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

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

using Microsoft.Playwright;
using System;
using System.Threading.Tasks;

class FrameExamples
{
public static async Task Main()
{
using var playwright = await Playwright.CreateAsync();
await using var browser = await playwright.Firefox.LaunchAsync();
var page = await browser.NewPageAsync();

await page.GotoAsync("https://www.bing.com");
DumpFrameTree(page.MainFrame, string.Empty);
}

private static void DumpFrameTree(IFrame frame, string indent)
{
Console.WriteLine($"{indent}{frame.Url}");
foreach (var child in frame.ChildFrames)
DumpFrameTree(child, indent + " ");
}
}

メソッド

AddScriptTagAsync

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

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

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

使用法

await Frame.AddScriptTagAsync(options);

引数

  • options FrameAddScriptTagOptions? (任意)
    • Content string? (任意)#

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

    • Path string? (任意)#

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

    • Type string? (任意)#

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

    • Url string? (任意)#

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

戻り値


AddStyleTagAsync

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

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

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

使用法

await Frame.AddStyleTagAsync(options);

引数

  • options FrameAddStyleTagOptions? (任意)
    • Content string? (任意)#

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

    • Path string? (任意)#

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

    • Url string? (任意)#

      <link>タグのURL。

戻り値


ChildFrames

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

使用法

Frame.ChildFrames

戻り値


ContentAsync

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

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

使用法

await Frame.ContentAsync();

戻り値


DragAndDropAsync

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

使用法

await Frame.DragAndDropAsync(source, target, options);

引数

  • source string#

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

  • target string#

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

  • options FrameDragAndDropOptions? (任意)

    • Force bool? (任意)#

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

    • NoWaitAfter bool? (任意)#

      非推奨

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

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

    • SourcePosition SourcePosition? (任意)追加されたバージョン: v1.14#

      • X [float]

      • Y [float]

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

    • Strict bool? (任意)追加されたバージョン: v1.14#

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

    • TargetPosition TargetPosition? (任意)追加されたバージョン: v1.14#

      • X [float]

      • Y [float]

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

    • Timeout [float]? (任意)#

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

    • Trial bool? (任意)#

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

戻り値


EvaluateAsync

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

expression の戻り値を返します。

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

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

使用法

var result = await frame.EvaluateAsync<int>("([x, y]) => Promise.resolve(x * y)", new[] { 7, 8 });
Console.WriteLine(result);

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

Console.WriteLine(await frame.EvaluateAsync<int>("1 + 2")); // prints "3"

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

var bodyHandle = await frame.EvaluateAsync("document.body");
var html = await frame.EvaluateAsync<string>("([body, suffix]) => body.innerHTML + suffix", new object [] { bodyHandle, "hello" });
await bodyHandle.DisposeAsync();

引数

  • expression string#

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

  • arg EvaluationArgument? (任意)#

    expression に渡す任意の引数。

戻り値

  • [object]#

EvaluateHandleAsync

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

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

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

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

使用法

// Handle for the window object.
var aWindowHandle = await frame.EvaluateHandleAsync("() => Promise.resolve(window)");

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

var docHandle = await frame.EvaluateHandleAsync("document"); // Handle for the `document`

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

var handle = await frame.EvaluateHandleAsync("() => document.body");
var resultHandle = await frame.EvaluateHandleAsync("([body, suffix]) => body.innerHTML + suffix", new object[] { handle, "hello" });
Console.WriteLine(await resultHandle.JsonValueAsync<string>());
await resultHandle.DisposeAsync();

引数

  • expression string#

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

  • arg EvaluationArgument? (任意)#

    expression に渡す任意の引数。

戻り値


FrameElementAsync

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

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

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

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

使用法

var frameElement = await frame.FrameElementAsync();
var contentFrame = await frameElement.ContentFrameAsync();
Console.WriteLine(frame == contentFrame); // -> True

戻り値


FrameLocator

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

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

使用法

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

var locator = frame.FrameLocator("#my-iframe").GetByText("Submit");
await locator.ClickAsync();

引数

  • selector string#

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

戻り値


GetByAltText

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

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

使用法

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

<img alt='Playwright logo'>
await page.GetByAltText("Playwright logo").ClickAsync();

引数

  • text string | Regex#

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

  • options FrameGetByAltTextOptions? (任意)

    • Exact bool? (任意)#

      完全一致(大文字小文字を区別し、文字列全体)を見つけるかどうか。デフォルトは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">
await page.GetByLabel("Username").FillAsync("john");
await page.GetByLabel("Password").FillAsync("secret");

引数

  • text string | Regex#

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

  • options FrameGetByLabelOptions? (任意)

    • Exact bool? (任意)#

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

戻り値


GetByPlaceholder

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

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

使用法

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

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

プレースホルダーテキストで入力を見つけてから、入力できます。

await page
.GetByPlaceholder("name@example.com")
.FillAsync("playwright@microsoft.com");

引数

  • text string | Regex#

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

  • options FrameGetByPlaceholderOptions? (任意)

    • Exact bool? (任意)#

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

戻り値


GetByRole

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

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

使用法

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

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

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

await Expect(Page
.GetByRole(AriaRole.Heading, new() { Name = "Sign up" }))
.ToBeVisibleAsync();

await page
.GetByRole(AriaRole.Checkbox, new() { Name = "Subscribe" })
.CheckAsync();

await page
.GetByRole(AriaRole.Button, new() {
NameRegex = new Regex("submit", RegexOptions.IgnoreCase)
})
.ClickAsync();

引数

  • 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 FrameGetByRoleOptions? (任意)

    • Checked bool? (任意)#

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

      aria-checkedの詳細。

    • Disabled bool? (任意)#

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

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

    • Exact bool? (任意)追加バージョン: v1.28#

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

    • Expanded bool? (任意)#

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

      aria-expandedの詳細。

    • IncludeHidden bool? (任意)#

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

      aria-hiddenの詳細。

    • Level int? (任意)#

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

      aria-levelの詳細。

    • Name|NameRegex string? | Regex? (任意)#

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

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

    • Pressed bool? (任意)#

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

      aria-pressedの詳細。

    • Selected bool? (任意)#

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

      aria-selectedの詳細。

戻り値

詳細

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

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


GetByTestId

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

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

使用法

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

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

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

await page.GetByTestId("directions").ClickAsync();

引数

戻り値

詳細

デフォルトでは、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() { Exact = true });

// Matches both <div>s
page.GetByText(new Regex("Hello"));

// Matches second <div>
page.GetByText(new Regex("^hello$", RegexOptions.IgnoreCase));

引数

  • text string | Regex#

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

  • options FrameGetByTextOptions? (任意)

    • Exact bool? (任意)#

      完全一致(大文字小文字を区別し、文字列全体)を見つけるかどうか。デフォルトは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>

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

await Expect(Page.GetByTitle("Issues count")).toHaveText("25 issues");

引数

  • text string | Regex#

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

  • options FrameGetByTitleOptions? (任意)

    • Exact bool? (任意)#

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

戻り値


GotoAsync

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

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

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

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

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

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

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

使用法

await Frame.GotoAsync(url, options);

引数

  • url string#

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

  • options FrameGotoOptions? (任意)

    • Referer string? (任意)#

      Referer ヘッダーの値。指定された場合、Page.SetExtraHTTPHeadersAsync() で設定されたリファラーヘッダー値よりも優先されます。

    • Timeout [float]? (任意)#

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

    • WaitUntil enum WaitUntilState { Load, DOMContentLoaded, NetworkIdle, Commit }? (任意)#

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

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

戻り値


IsDetached

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

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

使用法

Frame.IsDetached

戻り値


IsEnabledAsync

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

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

使用法

await Frame.IsEnabledAsync(selector, options);

引数

  • selector string#

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

  • options FrameIsEnabledOptions? (任意)

    • Strict bool? (任意)追加されたバージョン: v1.14#

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

    • Timeout [float]? (任意)#

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

戻り値


Locator

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

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

ロケーターの詳細.

ロケーターの詳細.

使用法

Frame.Locator(selector, options);

引数

  • selector string#

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

  • options FrameLocatorOptions? (任意)

    • Has Locator? (任意)#

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

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

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

    • HasNot Locator? (任意)追加バージョン: v1.33#

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

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

    • HasNotText|HasNotTextRegex string? | Regex? (任意)追加バージョン: v1.33#

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

    • HasText|HasTextRegex string? | Regex? (任意)#

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

      Playwright
      に一致します。

戻り値


Name

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

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

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

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

使用法

Frame.Name

戻り値


Page

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

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

使用法

Frame.Page

戻り値


ParentFrame

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

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

使用法

Frame.ParentFrame

戻り値


SetContentAsync

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

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

使用法

await Frame.SetContentAsync(html, options);

引数

  • html string#

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

  • options FrameSetContentOptions? (任意)

    • Timeout [float]? (任意)#

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

    • WaitUntil enum WaitUntilState { Load, DOMContentLoaded, NetworkIdle, Commit }? (任意)#

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

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

戻り値


TitleAsync

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

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

使用法

await Frame.TitleAsync();

戻り値


Url

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

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

使用法

Frame.Url

戻り値


WaitForFunctionAsync

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

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

使用法

Frame.WaitForFunctionAsync() を使用してビューポートサイズの変更を監視できます。

using Microsoft.Playwright;
using System.Threading.Tasks;

class FrameExamples
{
public static async Task Main()
{
using var playwright = await Playwright.CreateAsync();
await using var browser = await playwright.Firefox.LaunchAsync();
var page = await browser.NewPageAsync();
await page.SetViewportSizeAsync(50, 50);
await page.MainFrame.WaitForFunctionAsync("window.innerWidth < 100");
}
}

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

var selector = ".foo";
await page.MainFrame.WaitForFunctionAsync("selector => !!document.querySelector(selector)", selector);

引数

  • expression string#

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

  • arg EvaluationArgument? (任意)#

    expression に渡す任意の引数。

  • options FrameWaitForFunctionOptions? (任意)

    • PollingInterval [float]? (任意)#

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

    • Timeout [float]? (任意)#

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

戻り値


WaitForLoadStateAsync

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

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

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

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

使用法

await frame.ClickAsync("button");
await frame.WaitForLoadStateAsync(); // Defaults to LoadState.Load

引数

  • state enum LoadState { Load, DOMContentLoaded, NetworkIdle }? (任意)#

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

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

戻り値


WaitForURLAsync

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

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

使用法

await frame.ClickAsync("a.delayed-navigation"); // clicking the link will indirectly cause a navigation
await frame.WaitForURLAsync("**/target.html");

引数

  • url string | Regex | Func<string, bool>#

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

  • options FrameWaitForURLOptions? (任意)

    • Timeout [float]? (任意)#

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

    • WaitUntil enum WaitUntilState { Load, DOMContentLoaded, NetworkIdle, Commit }? (任意)#

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

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

戻り値


非推奨

CheckAsync

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

ロケーターベースのLocator.CheckAsync()を使用してください。ロケーターについて詳しく読む。

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

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

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

使用法

await Frame.CheckAsync(selector, options);

引数

  • selector string#

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

  • options FrameCheckOptions? (任意)

    • Force bool? (任意)#

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

    • NoWaitAfter bool? (任意)#

      非推奨

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

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

    • Position Position? (optional)追加されたバージョン: v1.11#

      • X [float]

      • Y [float]

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

    • Strict bool? (任意)追加されたバージョン: v1.14#

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

    • Timeout [float]? (任意)#

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

    • Trial bool? (optional)追加されたバージョン: v1.11#

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

戻り値


ClickAsync

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

ロケーターベースのLocator.ClickAsync()を使用してください。ロケーターについて詳しく読む。

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

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

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

使用法

await Frame.ClickAsync(selector, options);

引数

  • selector string#

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

  • options FrameClickOptions? (任意)

    • Button enum MouseButton { Left, Right, Middle }? (任意)#

      デフォルトは left です。

    • ClickCount int? (任意)#

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

    • Delay [float]? (任意)#

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

    • Force bool? (任意)#

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

    • Modifiers IEnumerable?<enum KeyboardModifier { Alt, Control, ControlOrMeta, Meta, Shift }> (任意)#

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

    • NoWaitAfter bool? (任意)#

      非推奨

      このオプションは将来 true になります。

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

    • Position Position? (任意)#

      • X [float]

      • Y [float]

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

    • Strict bool? (任意)追加されたバージョン: v1.14#

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

    • Timeout [float]? (任意)#

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

    • Trial bool? (optional)追加されたバージョン: v1.11#

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

戻り値


DblClickAsync

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

ロケーターベースのLocator.DblClickAsync()を使用してください。ロケーターについて詳しく読む。

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

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

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

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

使用法

await Frame.DblClickAsync(selector, options);

引数

  • selector string#

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

  • options FrameDblClickOptions? (任意)

    • Button enum MouseButton { Left, Right, Middle }? (任意)#

      デフォルトは left です。

    • Delay [float]? (任意)#

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

    • Force bool? (任意)#

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

    • Modifiers IEnumerable?<enum KeyboardModifier { Alt, Control, ControlOrMeta, Meta, Shift }> (任意)#

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

    • NoWaitAfter bool? (任意)#

      非推奨

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

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

    • Position Position? (任意)#

      • X [float]

      • Y [float]

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

    • Strict bool? (任意)追加されたバージョン: v1.14#

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

    • Timeout [float]? (任意)#

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

    • Trial bool? (optional)追加されたバージョン: v1.11#

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

戻り値


DispatchEventAsync

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

ロケーターベースのLocator.DispatchEventAsync()を使用してください。ロケーターについて詳しく読む。

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

使用法

await frame.DispatchEventAsync("button#submit", "click");

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

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

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

// Note you can only create DataTransfer in Chromium and Firefox
var dataTransfer = await frame.EvaluateHandleAsync("() => new DataTransfer()");
await frame.DispatchEventAsync("#source", "dragstart", new { dataTransfer });

引数

  • selector string#

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

  • type string#

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

  • eventInit EvaluationArgument? (任意)#

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

  • options FrameDispatchEventOptions? (任意)

    • Strict bool? (任意)追加されたバージョン: v1.14#

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

    • Timeout [float]? (任意)#

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

戻り値


EvalOnSelectorAsync

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

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

expression の戻り値を返します。

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

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

使用法

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

引数

  • selector string#

    クエリするセレクター。

  • expression string#

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

  • arg EvaluationArgument? (任意)#

    expression に渡す任意の引数。

  • options FrameEvalOnSelectorOptions? (任意)

    • Strict bool? (任意)追加されたバージョン: v1.14#

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

戻り値

  • [object]#

EvalOnSelectorAllAsync

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

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

expression の戻り値を返します。

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

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

使用法

var divsCount = await frame.EvalOnSelectorAllAsync<bool>("div", "(divs, min) => divs.length >= min", 10);

引数

  • selector string#

    クエリするセレクター。

  • expression string#

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

  • arg EvaluationArgument? (任意)#

    expression に渡す任意の引数。

戻り値

  • [object]#

FillAsync

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

ロケーターベースのLocator.FillAsync()を使用してください。ロケーターについて詳しく読む。

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

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

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

使用法

await Frame.FillAsync(selector, value, options);

引数

  • selector string#

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

  • value string#

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

  • options FrameFillOptions? (任意)

    • Force bool? (optional)追加バージョン: v1.13#

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

    • NoWaitAfter bool? (任意)#

      非推奨

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

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

    • Strict bool? (任意)追加されたバージョン: v1.14#

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

    • Timeout [float]? (任意)#

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

戻り値


FocusAsync

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

ロケーターベースのLocator.FocusAsync()を使用してください。ロケーターについて詳しく読む。

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

使用法

await Frame.FocusAsync(selector, options);

引数

  • selector string#

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

  • options FrameFocusOptions? (任意)

    • Strict bool? (任意)追加されたバージョン: v1.14#

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

    • Timeout [float]? (任意)#

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

戻り値


GetAttributeAsync

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

ロケーターベースのLocator.GetAttributeAsync()を使用してください。ロケーターについて詳しく読む。

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

使用法

await Frame.GetAttributeAsync(selector, name, options);

引数

  • selector string#

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

  • name string#

    値を取得する属性名。

  • options FrameGetAttributeOptions? (任意)

    • Strict bool? (任意)追加されたバージョン: v1.14#

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

    • Timeout [float]? (任意)#

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

戻り値


HoverAsync

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

ロケーターベースのLocator.HoverAsync()を使用してください。ロケーターについて詳しく読む。

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

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

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

使用法

await Frame.HoverAsync(selector, options);

引数

  • selector string#

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

  • options FrameHoverOptions? (任意)

    • Force bool? (任意)#

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

    • Modifiers IEnumerable?<enum KeyboardModifier { Alt, Control, ControlOrMeta, Meta, Shift }> (任意)#

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

    • NoWaitAfter bool? (任意)#追加バージョン: v1.28#

      非推奨

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

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

    • Position Position? (任意)#

      • X [float]

      • Y [float]

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

    • Strict bool? (任意)追加されたバージョン: v1.14#

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

    • Timeout [float]? (任意)#

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

    • Trial bool? (optional)追加されたバージョン: v1.11#

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

戻り値


InnerHTMLAsync

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

ロケーターベースのLocator.InnerHTMLAsync()を使用してください。ロケーターについて詳しく読む。

element.innerHTML を返します。

使用法

await Frame.InnerHTMLAsync(selector, options);

引数

  • selector string#

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

  • options FrameInnerHTMLOptions? (任意)

    • Strict bool? (任意)追加されたバージョン: v1.14#

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

    • Timeout [float]? (任意)#

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

戻り値


InnerTextAsync

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

ロケーターベースのLocator.InnerTextAsync()を使用してください。ロケーターについて詳しく読む。

element.innerText を返します。

使用法

await Frame.InnerTextAsync(selector, options);

引数

  • selector string#

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

  • options FrameInnerTextOptions? (任意)

    • Strict bool? (任意)追加されたバージョン: v1.14#

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

    • Timeout [float]? (任意)#

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

戻り値


InputValueAsync

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

ロケーターベースのLocator.InputValueAsync()を使用してください。ロケーターについて詳しく読む。

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

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

使用法

await Frame.InputValueAsync(selector, options);

引数

  • selector string#

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

  • options FrameInputValueOptions? (任意)

    • Strict bool? (任意)追加されたバージョン: v1.14#

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

    • Timeout [float]? (任意)#

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

戻り値


IsCheckedAsync

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

ロケーターベースのLocator.IsCheckedAsync()を使用してください。ロケーターについて詳しく読む。

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

使用法

await Frame.IsCheckedAsync(selector, options);

引数

  • selector string#

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

  • options FrameIsCheckedOptions? (任意)

    • Strict bool? (任意)追加されたバージョン: v1.14#

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

    • Timeout [float]? (任意)#

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

戻り値


IsDisabledAsync

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

ロケーターベースのLocator.IsDisabledAsync()を使用してください。ロケーターについて詳しく読む。

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

使用法

await Frame.IsDisabledAsync(selector, options);

引数

  • selector string#

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

  • options FrameIsDisabledOptions? (任意)

    • Strict bool? (任意)追加されたバージョン: v1.14#

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

    • Timeout [float]? (任意)#

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

戻り値


IsEditableAsync

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

ロケーターベースのLocator.IsEditableAsync()を使用してください。ロケーターについて詳しく読む。

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

使用法

await Frame.IsEditableAsync(selector, options);

引数

  • selector string#

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

  • options FrameIsEditableOptions? (任意)

    • Strict bool? (任意)追加されたバージョン: v1.14#

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

    • Timeout [float]? (任意)#

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

戻り値


IsHiddenAsync

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

ロケーターベースのLocator.IsHiddenAsync()を使用してください。ロケーターについて詳しく読む。

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

使用法

await Frame.IsHiddenAsync(selector, options);

引数

  • selector string#

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

  • options FrameIsHiddenOptions? (任意)

    • Strict bool? (任意)追加されたバージョン: v1.14#

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

    • Timeout [float]? (任意)#

      非推奨

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

戻り値


IsVisibleAsync

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

ロケーターベースのLocator.IsVisibleAsync()を使用してください。ロケーターについて詳しく読む。

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

使用法

await Frame.IsVisibleAsync(selector, options);

引数

  • selector string#

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

  • options FrameIsVisibleOptions? (任意)

    • Strict bool? (任意)追加されたバージョン: v1.14#

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

    • Timeout [float]? (任意)#

      非推奨

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

戻り値


PressAsync

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

ロケーターベースのLocator.PressAsync()を使用してください。ロケーターについて詳しく読む。

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"のようなショートカットもサポートされています。修飾キーを指定した場合、修飾キーは押し続けられ、その後に続くキーが押されます。

使用法

await Frame.PressAsync(selector, key, options);

引数

  • selector string#

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

  • key string#

    押すキーの名前、または ArrowLefta などの生成する文字。

  • options FramePressOptions? (オプション)

    • Delay [float]? (オプション)#

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

    • NoWaitAfter bool? (オプション)#

      非推奨

      このオプションは将来 true になります。

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

    • Strict bool? (任意)追加されたバージョン: v1.14#

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

    • Timeout [float]? (オプション)#

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

戻り値


QuerySelectorAsync

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

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

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

注意

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

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

使用法

await Frame.QuerySelectorAsync(selector, options);

引数

  • selector string#

    クエリするセレクター。

  • options FrameQuerySelectorOptions? (オプション)

    • Strict bool? (任意)追加されたバージョン: v1.14#

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

戻り値


QuerySelectorAllAsync

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

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

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

注意

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

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

使用法

await Frame.QuerySelectorAllAsync(selector);

引数

  • selector string#

    クエリするセレクター。

戻り値


RunAndWaitForNavigationAsync

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

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

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

使用法

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

await frame.RunAndWaitForNavigationAsync(async () =>
{
// Clicking the link will indirectly cause a navigation.
await frame.ClickAsync("a.delayed-navigation");
});

// Resolves after navigation has finished

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

引数

  • action Func<Task>追加日: v1.12#

    イベントをトリガーするアクション。

  • options FrameRunAndWaitForNavigationOptions? (オプション)

    • Timeout [float]? (オプション)#

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

    • Url|UrlRegex|UrlFunc string? | Regex? | Func<string?, bool> (オプション)#

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

    • WaitUntil enum WaitUntilState { Load, DOMContentLoaded, NetworkIdle, Commit }? (オプション)#

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

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

戻り値


WaitForNavigationAsync

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

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

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

使用法

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

await frame.RunAndWaitForNavigationAsync(async () =>
{
// Clicking the link will indirectly cause a navigation.
await frame.ClickAsync("a.delayed-navigation");
});

// Resolves after navigation has finished

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

引数

  • options FrameRunAndWaitForNavigationOptions? (オプション)
    • Timeout [float]? (オプション)#

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

    • Url|UrlRegex|UrlFunc string? | Regex? | Func<string?, bool> (オプション)#

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

    • WaitUntil enum WaitUntilState { Load, DOMContentLoaded, NetworkIdle, Commit }? (オプション)#

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

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

戻り値


SelectOptionAsync

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

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

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

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

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

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

使用法

// Single selection matching the value or label
await frame.SelectOptionAsync("select#colors", new[] { "blue" });
// single selection matching both the value and the label
await frame.SelectOptionAsync("select#colors", new[] { new SelectOptionValue() { Label = "blue" } });
// multiple selection
await frame.SelectOptionAsync("select#colors", new[] { "red", "green", "blue" });

引数

  • selector string#

    クエリするセレクター。

  • values string | ElementHandle | IEnumerable | SelectOption | IEnumerable | IEnumerable?#

    • Value string? (オプション)

      option.value で一致します。任意。

    • Label string? (オプション)

      option.label で一致します。任意。

    • Index int? (オプション)

      インデックスで一致します。任意。

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

  • options FrameSelectOptionOptions? (オプション)

    • Force bool? (optional)追加バージョン: v1.13#

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

    • NoWaitAfter bool? (オプション)#

      非推奨

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

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

    • Strict bool? (任意)追加されたバージョン: v1.14#

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

    • Timeout [float]? (オプション)#

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

戻り値


SetCheckedAsync

追加されたバージョン: v1.15 frame.SetCheckedAsync
推奨されません

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

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

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

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

使用法

await Frame.SetCheckedAsync(selector, checked, options);

引数

  • selector string#

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

  • checkedState bool#

    チェックボックスをチェックするか、チェックを外すか。

  • options FrameSetCheckedOptions? (オプション)

    • Force bool? (オプション)#

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

    • NoWaitAfter bool? (オプション)#

      非推奨

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

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

    • Position Position? (オプション)#

      • X [float]

      • Y [float]

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

    • Strict bool? (オプション)#

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

    • Timeout [float]? (オプション)#

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

    • Trial bool? (オプション)#

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

戻り値


SetInputFilesAsync

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

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

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

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

使用法

await Frame.SetInputFilesAsync(selector, files, options);

引数

  • selector string#

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

  • files string | IEnumerable<string> | FilePayload | IEnumerable<FilePayload>#

    • Name string

      ファイル名

    • MimeType string

      ファイルタイプ

    • Buffer byte[]

      ファイル内容

  • options FrameSetInputFilesOptions? (オプション)

    • NoWaitAfter bool? (オプション)#

      非推奨

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

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

    • Strict bool? (任意)追加されたバージョン: v1.14#

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

    • Timeout [float]? (オプション)#

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

戻り値


TapAsync

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

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

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

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

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

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

使用法

await Frame.TapAsync(selector, options);

引数

  • selector string#

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

  • options FrameTapOptions? (オプション)

    • Force bool? (オプション)#

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

    • Modifiers IEnumerable?<enum KeyboardModifier { Alt, Control, ControlOrMeta, Meta, Shift }> (オプション)#

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

    • NoWaitAfter bool? (オプション)#

      非推奨

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

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

    • Position Position? (オプション)#

      • X [float]

      • Y [float]

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

    • Strict bool? (任意)追加されたバージョン: v1.14#

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

    • Timeout [float]? (オプション)#

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

    • Trial bool? (optional)追加されたバージョン: v1.11#

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

戻り値


TextContentAsync

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

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

element.textContent を返します。

使用法

await Frame.TextContentAsync(selector, options);

引数

  • selector string#

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

  • options FrameTextContentOptions? (オプション)

    • Strict bool? (任意)追加されたバージョン: v1.14#

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

    • Timeout [float]? (オプション)#

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

戻り値


TypeAsync

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

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

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

ControlArrowDownのような特殊キーを押すには、Keyboard.PressAsync()を使用します。

使用法

引数

  • selector string#

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

  • text string#

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

  • options FrameTypeOptions? (オプション)

    • Delay [float]? (オプション)#

      キー押下間の待機時間(ミリ秒)。デフォルトは0です。

    • NoWaitAfter bool? (オプション)#

      非推奨

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

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

    • Strict bool? (任意)追加されたバージョン: v1.14#

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

    • Timeout [float]? (オプション)#

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

戻り値


UncheckAsync

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

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

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

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

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

使用法

await Frame.UncheckAsync(selector, options);

引数

  • selector string#

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

  • options FrameUncheckOptions? (オプション)

    • Force bool? (オプション)#

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

    • NoWaitAfter bool? (オプション)#

      非推奨

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

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

    • Position Position? (optional)追加されたバージョン: v1.11#

      • X [float]

      • Y [float]

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

    • Strict bool? (任意)追加されたバージョン: v1.14#

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

    • Timeout [float]? (オプション)#

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

    • Trial bool? (optional)追加されたバージョン: v1.11#

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

戻り値


WaitForSelectorAsync

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

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

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

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

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

使用法

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

using Microsoft.Playwright;
using System;
using System.Threading.Tasks;

class FrameExamples
{
public static async Task Main()
{
using var playwright = await Playwright.CreateAsync();
await using var browser = await playwright.Chromium.LaunchAsync();
var page = await browser.NewPageAsync();

foreach (var currentUrl in new[] { "https://www.google.com", "https://bbc.com" })
{
await page.GotoAsync(currentUrl);
element = await page.MainFrame.WaitForSelectorAsync("img");
Console.WriteLine($"Loaded image: {await element.GetAttributeAsync("src")}");
}
}
}

引数

  • selector string#

    クエリするセレクター。

  • options FrameWaitForSelectorOptions? (オプション)

    • State enum WaitForSelectorState { Attached, Detached, Visible, Hidden }? (オプション)#

      デフォルトは'visible'です。以下のいずれかになります。

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

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

    • Timeout [float]? (オプション)#

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

戻り値


WaitForTimeoutAsync

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

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

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

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

使用法

await Frame.WaitForTimeoutAsync(timeout);

引数

  • timeout [float]#

    待機するタイムアウト

戻り値