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

Page

Page は、Browser 内の単一タブ、または Chromium の拡張機能のバックグラウンドページとやり取りするためのメソッドを提供します。1つの Browser インスタンスには、複数の Page インスタンスが存在する場合があります。

この例では、ページを作成し、URLにナビゲートしてから、スクリーンショットを保存します。

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

class PageExamples
{
public static async Task Run()
{
using var playwright = await Playwright.CreateAsync();
await using var browser = await playwright.Webkit.LaunchAsync();
var page = await browser.NewPageAsync();
await page.GotoAsync("https://www.theverge.com");
await page.ScreenshotAsync(new() { Path = "theverge.png" });
}
}

Pageクラスは、ononceremoveListenerなどのNodeのネイティブなEventEmitterメソッドを使用して処理できるさまざまなイベント(以下に説明)を発行します。

この例では、単一ページのloadイベントのメッセージをログに記録します。

page.Load += (_, _) => Console.WriteLine("Page loaded!");

イベントの登録を解除するには、removeListenerメソッドを使用します。

void PageLoadHandler(object _, IPage p) {
Console.WriteLine("Page loaded!");
};

page.Load += PageLoadHandler;
// Do some work...
page.Load -= PageLoadHandler;

メソッド

AddInitScriptAsync

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

以下のいずれかのシナリオで評価されるスクリプトを追加します。

  • ページがナビゲートされるたびに。
  • 子フレームがアタッチまたはナビゲートされるたびに。この場合、スクリプトは新しくアタッチされたフレームのコンテキストで評価されます。

スクリプトは、ドキュメントが作成された後、そのスクリプトが実行される前に評価されます。これは、JavaScript 環境を修正する場合に役立ちます (例: Math.random をシードする場合)。

使用法

ページが読み込まれる前に Math.random をオーバーライドする例

// preload.js
Math.random = () => 42;
await Page.AddInitScriptAsync(scriptPath: "./preload.js");

BrowserContext.AddInitScriptAsync()Page.AddInitScriptAsync() を介してインストールされた複数のスクリプトの評価順序は定義されていません。

引数

  • script string | string#

    ブラウザコンテキスト内のすべてのページで評価されるスクリプト。

戻り値


AddLocatorHandlerAsync

追加バージョン: v1.42 page.AddLocatorHandlerAsync

ウェブページをテストしていると、「サインアップ」ダイアログのような予期しないオーバーレイが表示され、ボタンのクリックなどの自動化したいアクションがブロックされることがあります。これらのオーバーレイは常に同じように、または同じ時間に表示されるわけではないため、自動テストで処理するのが難しいです。

このメソッドを使用すると、オーバーレイが表示されていることを検出したときにアクティブになる、ハンドラーと呼ばれる特別な関数を設定できます。ハンドラーの役割はオーバーレイを削除し、オーバーレイがないかのようにテストを続行できるようにすることです。

留意すべき点

  • オーバーレイが予測どおりに表示される場合、Page.AddLocatorHandlerAsync() を使用する代わりに、テストで明示的に待機し、通常のテストフローの一部としてオーバーレイを閉じることが推奨されます。
  • Playwright は、アクション実行可能性チェックが必要なアクションを実行または再試行する前、または自動待機アサーションチェックを実行する前に、オーバーレイを毎回確認します。オーバーレイが表示されている場合、Playwright は最初にハンドラーを呼び出し、その後アクション/アサーションに進みます。ハンドラーが呼び出されるのは、アクション/アサーションを実行するときのみであることに注意してください。オーバーレイが表示されてもアクションを実行しない場合、ハンドラーはトリガーされません。
  • ハンドラーの実行後、Playwright はハンドラーをトリガーしたオーバーレイがもはや表示されていないことを確認します。NoWaitAfter を使用して、この動作を無効にすることができます。
  • ハンドラーの実行時間は、ハンドラーを実行したアクション/アサーションのタイムアウトにカウントされます。ハンドラーの実行時間が長すぎると、タイムアウトが発生する可能性があります。
  • 複数のハンドラーを登録できます。ただし、一度に実行されるハンドラーは1つだけです。ハンドラー内のアクションが他のハンドラーに依存しないようにしてください。
警告

ハンドラーを実行すると、テスト中にページのステートが変更されます。たとえば、現在フォーカスされている要素が変更され、マウスが移動します。ハンドラーの後に実行されるアクションが自己完結型であり、フォーカスとマウスのステートが変更されていないことに依存しないことを確認してください。

たとえば、Locator.FocusAsync() の後に Keyboard.PressAsync() を呼び出すテストを考えてみましょう。ハンドラーがこれらの 2 つのアクションの間にボタンをクリックした場合、フォーカスされた要素が間違っている可能性が高く、キー入力は予期しない要素で発生します。この問題を回避するには、代わりに Locator.PressAsync() を使用してください。

別の例は、Mouse.MoveAsync() の後に Mouse.DownAsync() が続く一連のマウスアクションです。この場合も、ハンドラーがこれら 2 つのアクションの間に実行されると、マウスダウン中にマウスの位置が間違ったものになります。ハンドラーによって状態が変更されないことに依存しない、Locator.ClickAsync() のような自己完結型のアクションを優先してください。

使用法

「ニュースレターに登録する」ダイアログが表示されたときに閉じる例

// Setup the handler.
await page.AddLocatorHandlerAsync(page.GetByText("Sign up to the newsletter"), async () => {
await page.GetByRole(AriaRole.Button, new() { Name = "No thanks" }).ClickAsync();
});

// Write the test as usual.
await page.GotoAsync("https://example.com");
await page.GetByRole("button", new() { Name = "Start here" }).ClickAsync();

「セキュリティ詳細の確認」ページが表示されたときにスキップする例

// Setup the handler.
await page.AddLocatorHandlerAsync(page.GetByText("Confirm your security details"), async () => {
await page.GetByRole(AriaRole.Button, new() { Name = "Remind me later" }).ClickAsync();
});

// Write the test as usual.
await page.GotoAsync("https://example.com");
await page.GetByRole("button", new() { Name = "Start here" }).ClickAsync();

すべてのアクション実行可能性チェックでのカスタムコールバックの例。常に表示される ロケーターを使用しているため、ハンドラーはすべてのアクション実行可能性チェックの前に呼び出されます。ハンドラーが 要素を非表示にしないため、NoWaitAfter を指定することが重要です。

// Setup the handler.
await page.AddLocatorHandlerAsync(page.Locator("body"), async () => {
await page.EvaluateAsync("window.removeObstructionsForTestIfNeeded()");
}, new() { NoWaitAfter = true });

// Write the test as usual.
await page.GotoAsync("https://example.com");
await page.GetByRole("button", new() { Name = "Start here" }).ClickAsync();

ハンドラーは元のロケーターを引数として受け取ります。Times を設定することで、呼び出し回数後にハンドラーを自動的に削除することもできます。

await page.AddLocatorHandlerAsync(page.GetByText("Sign up to the newsletter"), async locator => {
await locator.ClickAsync();
}, new() { Times = 1 });

引数

  • locator Locator#

    ハンドラーをトリガーするロケーター。

  • handler Func<Locator, Task>#

    locator が出現したときに実行される関数。この関数は、クリックなどのアクションをブロックする要素を取り除く必要があります。

  • options PageAddLocatorHandlerOptions? (任意)

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

      デフォルトでは、ハンドラーを呼び出した後、Playwrightはオーバーレイが非表示になるまで待機し、その後、ハンドラーをトリガーしたアクション/アサーションを続行します。このオプションを使用すると、この動作をオプトアウトできるため、ハンドラーの実行後もオーバーレイを表示したままにすることができます。

    • Times int? (任意)#追加バージョン: v1.44#

      このハンドラーが呼び出される最大回数を指定します。デフォルトは無制限です。

戻り値


AddScriptTagAsync

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

目的のURLまたはコンテンツを持つ<script>タグをページに追加します。スクリプトのonloadが発火したとき、またはスクリプトコンテンツがフレームに挿入されたときに、追加されたタグを返します。

使用法

await Page.AddScriptTagAsync(options);

引数

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

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

    • Path string? (任意)#

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

    • Type string? (任意)#

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

    • Url string? (任意)#

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

戻り値


AddStyleTagAsync

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

目的のURLを持つ<link rel="stylesheet">タグ、またはコンテンツを持つ<style type="text/css">タグをページに追加します。スタイルシートのonloadが発火したとき、またはCSSコンテンツがフレームに挿入されたときに、追加されたタグを返します。

使用法

await Page.AddStyleTagAsync(options);

引数

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

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

    • Path string? (任意)#

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

    • Url string? (任意)#

      <link>タグのURL。

戻り値


BringToFrontAsync

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

ページを前面に表示します(タブをアクティブにします)。

使用法

await Page.BringToFrontAsync();

戻り値


CloseAsync

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

RunBeforeUnloadfalse の場合、アンロードハンドラーは実行されず、ページが閉じるまで待機します。RunBeforeUnloadtrue の場合、メソッドはアンロードハンドラーを実行しますが、ページが閉じるまで**待機しません**。

デフォルトでは、page.close()beforeunloadハンドラーを実行しません

RunBeforeUnload が true として渡されると、beforeunload ダイアログが表示される可能性があり、Page.Dialog イベントを介して手動で処理する必要があります。

使用法

await Page.CloseAsync(options);

引数

  • options PageCloseOptions? (任意)
    • Reason string? (任意)追加されたバージョン: v1.40#

      ページの閉鎖によって中断された操作に報告される理由。

    • RunBeforeUnload bool? (任意)#

      デフォルトはfalseです。before unloadページハンドラーを実行するかどうか。

戻り値


ContentAsync

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

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

使用法

await Page.ContentAsync();

戻り値


Context

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

ページが属するブラウザコンテキストを取得します。

使用法

Page.Context

戻り値


DragAndDropAsync

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

このメソッドは、ソース要素をターゲット要素にドラッグします。まずソース要素に移動し、mousedownを実行し、次にターゲット要素に移動してmouseupを実行します。

使用法

await Page.DragAndDropAsync("#source", "#target");
// or specify exact positions relative to the top-left corners of the elements:
await Page.DragAndDropAsync("#source", "#target", new()
{
SourcePosition = new() { X = 34, Y = 7 },
TargetPosition = new() { X = 10, Y = 20 },
});

引数

  • source string#

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

  • target string#

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

  • options PageDragAndDropOptions? (任意)

    • 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です。アクションを実行せずに要素がアクションの準備ができるまで待機するのに便利です。

戻り値


EmulateMediaAsync

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

このメソッドは、media引数によってCSS media typeを、および/またはcolorScheme引数を使用して'prefers-colors-scheme'メディア機能を変更します。

使用法

await page.EvaluateAsync("() => matchMedia('screen').matches");
// → true
await page.EvaluateAsync("() => matchMedia('print').matches");
// → false

await page.EmulateMediaAsync(new() { Media = Media.Print });
await page.EvaluateAsync("() => matchMedia('screen').matches");
// → false
await page.EvaluateAsync("() => matchMedia('print').matches");
// → true

await page.EmulateMediaAsync(new() { Media = Media.Screen });
await page.EvaluateAsync("() => matchMedia('screen').matches");
// → true
await page.EvaluateAsync("() => matchMedia('print').matches");
// → false
await page.EmulateMediaAsync(new() { ColorScheme = ColorScheme.Dark });
await page.EvaluateAsync("matchMedia('(prefers-color-scheme: dark)').matches");
// → true
await page.EvaluateAsync("matchMedia('(prefers-color-scheme: light)').matches");
// → false

引数

  • options PageEmulateMediaOptions? (任意)
    • ColorScheme enum ColorScheme { Light, Dark, NoPreference, Null }? (任意)追加バージョン: v1.9#

      prefers-colors-scheme メディア機能をエミュレートします。サポートされる値は 'light''dark' です。'Null' を渡すと、カラースキームのエミュレーションが無効になります。'no-preference' は非推奨です。

    • Contrast enum Contrast { NoPreference, More, Null }? (任意)追加バージョン: v1.51#

    • ForcedColors enum ForcedColors { Active, None, Null }? (任意)追加されたバージョン: v1.15#

    • Media enum Media { Screen, Print, Null }? (任意)追加バージョン: v1.9#

      ページの CSS メディアタイプを変更します。許可される値は 'Screen''Print''Null' のみです。'Null' を渡すと、CSS メディアエミュレーションが無効になります。

    • ReducedMotion enum ReducedMotion { Reduce, NoPreference, Null }? (任意)追加日: v1.12#

      'prefers-reduced-motion'メディア機能をエミュレートします。サポートされる値は'reduce''no-preference'です。nullを渡すと、モーション削減エミュレーションが無効になります。

戻り値


EvaluateAsync

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

呼び出しの値を返します。

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

Page.EvaluateAsync() に渡された関数が非シリアライズ可能な値を返す場合、Page.EvaluateAsync()undefined に解決します。Playwright は、JSON によってシリアライズできない追加の値(-0NaNInfinity-Infinity)の転送もサポートしています。

使用法

expression に引数を渡す

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

関数ではなく文字列を渡すこともできます。

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

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

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

引数

  • expression string#

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

  • arg EvaluationArgument? (任意)#

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

戻り値

  • [object]#

EvaluateHandleAsync

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

expression 呼び出しの値を JSHandle として返します。

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

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

使用法

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

関数ではなく文字列を渡すこともできます。

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

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

var handle = await page.EvaluateHandleAsync("() => document.body");
var resultHandle = await page.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 に渡すオプションの引数。

戻り値


ExposeBindingAsync

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

このメソッドは、このページのすべてのフレームの window オブジェクトに、name という関数を追加します。呼び出されると、この関数は callback を実行し、callback の戻り値に解決される Promise を返します。callbackPromise を返す場合、それは待機されます。

callback 関数の最初の引数には、呼び出し元に関する情報が含まれています: { browserContext: BrowserContext, page: Page, frame: Frame }

コンテキスト全体版については、BrowserContext.ExposeBindingAsync() を参照してください。

Page.ExposeBindingAsync() を介してインストールされた関数は、ナビゲーション後も存続します。

使用法

ページURLをページのすべてのフレームに公開する例

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

class PageExamples
{
public static async Task Main()
{
using var playwright = await Playwright.CreateAsync();
await using var browser = await playwright.Webkit.LaunchAsync(new()
{
Headless = false,
});
var page = await browser.NewPageAsync();

await page.ExposeBindingAsync("pageUrl", (source) => source.Page.Url);
await page.SetContentAsync("<script>\n" +
" async function onClick() {\n" +
" document.querySelector('div').textContent = await window.pageURL();\n" +
" }\n" +
"</script>\n" +
"<button onclick=\"onClick()\">Click me</button>\n" +
"<div></div>");

await page.ClickAsync("button");
}
}

引数

  • name string#

    ウィンドウオブジェクト上の関数の名前。

  • callback Action<BindingSource, T, [TResult]>#

    Playwright のコンテキストで呼び出されるコールバック関数。

  • options PageExposeBindingOptions? (任意)

    • Handle bool? (任意)#

      非推奨

      このオプションは将来削除されます。

      引数を値で渡す代わりに、ハンドルとして渡すかどうか。ハンドルとして渡す場合、引数は1つのみサポートされます。値で渡す場合、複数の引数がサポートされます。

戻り値


ExposeFunctionAsync

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

このメソッドは、このページのすべてのフレームの window オブジェクトに、name という関数を追加します。呼び出されると、この関数は callback を実行し、callback の戻り値に解決される Promise を返します。

callbackPromise を返す場合、それは待機されます。

コンテキスト全体で公開される関数については、BrowserContext.ExposeFunctionAsync() を参照してください。

Page.ExposeFunctionAsync() を介してインストールされた関数は、ナビゲーション後も存続します。

使用法

ページにsha256関数を追加する例

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

class PageExamples
{
public static async Task Main()
{
using var playwright = await Playwright.CreateAsync();
await using var browser = await playwright.Webkit.LaunchAsync(new()
{
Headless = false
});
var page = await browser.NewPageAsync();

await page.ExposeFunctionAsync("sha256", (string input) =>
{
return Convert.ToBase64String(
SHA256.Create().ComputeHash(System.Text.Encoding.UTF8.GetBytes(input)));
});

await page.SetContentAsync("<script>\n" +
" async function onClick() {\n" +
" document.querySelector('div').textContent = await window.sha256('PLAYWRIGHT');\n" +
" }\n" +
"</script>\n" +
"<button onclick=\"onClick()\">Click me</button>\n" +
"<div></div>");

await page.ClickAsync("button");
Console.WriteLine(await page.TextContentAsync("div"));
}
}

引数

  • name string#

    windowオブジェクト上の関数の名前。

  • callback Action<T, [TResult]>#

    Playwrightのコンテキストで呼び出されるコールバック関数。

戻り値


Frame

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

指定された条件に一致するフレームを返します。nameまたはurlのいずれかを指定する必要があります。

使用法

var frame = page.Frame("frame-name");
var frame = page.FrameByUrl(".*domain.*");

引数

  • name string追加バージョン: v1.9#

    iframename 属性で指定されたフレーム名。

戻り値


FrameByUrl

追加バージョン: v1.9 page.FrameByUrl

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

使用法

Page.FrameByUrl(url);

引数

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

    フレームの urlURL オブジェクトとして受け取るグロブパターン、正規表現パターン、または述語。

戻り値


FrameLocator

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

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

使用法

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

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

引数

  • selector string#

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

戻り値


Frames

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

ページにアタッチされたすべてのフレームの配列。

使用法

Page.Frames

戻り値


GetByAltText

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

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

使用法

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

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

引数

  • text string | Regex#

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

  • options PageGetByAltTextOptions? (任意)

    • Exact bool? (任意)#

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

戻り値


GetByLabel

追加バージョン: v1.27 page.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 PageGetByLabelOptions? (任意)

    • Exact bool? (任意)#

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

戻り値


GetByPlaceholder

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

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

使用法

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

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

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

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

引数

  • text string | Regex#

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

  • options PageGetByPlaceholderOptions? (任意)

    • Exact bool? (任意)#

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

戻り値


GetByRole

追加バージョン: v1.27 page.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 PageGetByRoleOptions? (任意)

    • 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 page.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 page.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 PageGetByTextOptions? (任意)

    • Exact bool? (任意)#

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

戻り値

詳細

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

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


GetByTitle

追加バージョン: v1.27 page.GetByTitle

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

使用法

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

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

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

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

引数

  • text string | Regex#

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

  • options PageGetByTitleOptions? (任意)

    • Exact bool? (任意)#

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

戻り値


GoBackAsync

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

メインリソース応答を返します。複数のリダイレクトの場合、ナビゲーションは最後のリダイレクトの応答で解決されます。戻ることができない場合、nullを返します。

履歴の前のページに移動します。

使用法

await Page.GoBackAsync(options);

引数

  • options PageGoBackOptions? (任意)
    • 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' - ネットワーク応答が受信され、ドキュメントの読み込みが開始されたときに操作が終了したと見なします。

戻り値


GoForwardAsync

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

メインリソース応答を返します。複数のリダイレクトの場合、ナビゲーションは最後のリダイレクトの応答で解決されます。進むことができない場合、nullを返します。

履歴の次のページに移動します。

使用法

await Page.GoForwardAsync(options);

引数

  • options PageGoForwardOptions? (任意)
    • 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' - ネットワーク応答が受信され、ドキュメントの読み込みが開始されたときに操作が終了したと見なします。

戻り値


GotoAsync

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

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

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

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

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

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

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

使用法

await Page.GotoAsync(url, options);

引数

  • url string#

    ページをナビゲートする URL。URL にはスキーム(例: https://)を含める必要があります。コンテキストオプションで BaseURL が提供されており、渡された URL がパスの場合、new URL() コンストラクターを介して結合されます。

  • options PageGotoOptions? (任意)

    • 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' - ネットワーク応答が受信され、ドキュメントの読み込みが開始されたときに操作が終了したと見なします。

戻り値


IsClosed

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

ページが閉じられたことを示します。

使用法

Page.IsClosed

戻り値


Locator

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

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

ロケーターの詳細.

使用法

Page.Locator(selector, options);

引数

  • selector string#

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

  • options PageLocatorOptions? (任意)

    • 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
      に一致します。

戻り値


MainFrame

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

ページのメインフレーム。ページにはナビゲーション中に持続するメインフレームがあることが保証されます。

使用法

Page.MainFrame

戻り値


OpenerAsync

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

ポップアップページの場合にオープナーを返し、その他の場合はnullを返します。オープナーがすでに閉じられている場合、nullを返します。

使用法

await Page.OpenerAsync();

戻り値


PauseAsync

追加バージョン: v1.9 page.PauseAsync

スクリプトの実行を一時停止します。Playwrightはスクリプトの実行を停止し、ユーザーがページオーバーレイの「Resume」ボタンを押すか、DevToolsコンソールでplaywright.resume()を呼び出すのを待ちます。

ユーザーは一時停止中にセレクターを検査したり、手動のステップを実行したりできます。再開すると、元のスクリプトは一時停止した場所から実行を続けます。

このメソッドは、Playwright がヘッダーモードで、Headless オプションが偽値で起動されている必要があります。

使用法

await Page.PauseAsync();

戻り値


PdfAsync

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

PDFバッファを返します。

page.pdf() は、print CSS メディアを使用してページの PDF を生成します。screen メディアで PDF を生成するには、page.pdf() を呼び出す前に Page.EmulateMediaAsync() を呼び出します。

デフォルトでは、page.pdf()は印刷用に色が変更されたPDFを生成します。正確な色のレンダリングを強制するには、-webkit-print-color-adjustプロパティを使用します。

使用法

// Generates a PDF with 'screen' media type
await page.EmulateMediaAsync(new() { Media = Media.Screen });
await page.PdfAsync(new() { Path = "page.pdf" });

WidthHeightMargin オプションは、単位付きの値を受け入れます。単位なしの値はピクセルとして扱われます。

いくつかの例

  • page.pdf({width: 100}) - 幅を100ピクセルに設定して印刷
  • page.pdf({width: '100px'}) - 幅を100ピクセルに設定して印刷
  • page.pdf({width: '10cm'}) - 幅を10センチメートルに設定して印刷。

すべての可能な単位は

  • px - ピクセル
  • in - インチ
  • cm - センチメートル
  • mm - ミリメートル

Format オプションは

  • Letter: 8.5インチ x 11インチ
  • Legal: 8.5インチ x 14インチ
  • Tabloid: 11インチ x 17インチ
  • Ledger: 17インチ x 11インチ
  • A0: 33.1インチ x 46.8インチ
  • A1: 23.4インチ x 33.1インチ
  • A2: 16.54インチ x 23.4インチ
  • A3: 11.7インチ x 16.54インチ
  • A4: 8.27インチ x 11.7インチ
  • A5: 5.83インチ x 8.27インチ
  • A6: 4.13インチ x 5.83インチ

HeaderTemplate および FooterTemplate のマークアップには以下の制限があります。 > 1. テンプレート内のスクリプトタグは評価されません。 > 2. テンプレート内でページスタイルは表示されません。

引数

  • options PagePdfOptions? (任意)
    • DisplayHeaderFooter bool? (任意)#

      ヘッダーとフッターを表示します。デフォルトはfalseです。

    • FooterTemplate string? (任意)#

      印刷フッターの HTML テンプレート。HeaderTemplate と同じ形式を使用する必要があります。

    • Format string? (任意)#

      用紙フォーマット。設定されている場合、Width または Height オプションよりも優先されます。デフォルトは 'Letter' です。

    • HeaderTemplate string? (任意)#

      印刷ヘッダーのHTMLテンプレート。印刷値を挿入するために次のクラスが使用される有効なHTMLマークアップである必要があります。

      • 'date' 形式化された印刷日付
      • 'title' ドキュメントタイトル
      • 'url' ドキュメントの場所
      • 'pageNumber' 現在のページ番号
      • 'totalPages' ドキュメントの総ページ数
    • Height string? (任意)#

      用紙の高さ。単位付きの値を受け入れます。

    • Landscape bool? (任意)#

      用紙の向き。デフォルトはfalseです。

    • Margin Margin? (任意)#

      • Top string? (任意)

        上余白。単位付きの値を受け入れます。デフォルトは0です。

      • Right string? (任意)

        右余白。単位付きの値を受け入れます。デフォルトは0です。

      • Bottom string? (任意)

        下余白。単位付きの値を受け入れます。デフォルトは0です。

      • Left string? (任意)

        左余白。単位付きの値を受け入れます。デフォルトは0です。

      用紙の余白。デフォルトはなし。

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

      ドキュメントのアウトラインをPDFに埋め込むかどうか。デフォルトはfalseです。

    • PageRanges string? (任意)#

      印刷するページの範囲。例: '1-5, 8, 11-13'。デフォルトは空文字列で、すべてのページを印刷することを意味します。

    • Path string? (任意)#

      PDF を保存するファイルパス。Path が相対パスの場合、現在の作業ディレクトリを基準に解決されます。パスが指定されていない場合、PDF はディスクに保存されません。

    • PreferCSSPageSize bool? (任意)#

      ページで宣言されている CSS @page サイズを、WidthHeight または Format オプションで宣言されているものよりも優先します。デフォルトは false で、コンテンツを用紙サイズに合わせて拡大縮小します。

    • PrintBackground bool? (任意)#

      背景グラフィックを印刷します。デフォルトはfalseです。

    • Scale [float]? (任意)#

      ウェブページのレンダリングのスケール。デフォルトは1です。スケール量は0.1から2の間である必要があります。

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

      タグ付けされた(アクセシブルな)PDFを生成するかどうか。デフォルトはfalseです。

    • Width string? (任意)#

      用紙の幅。単位付きの値を受け入れます。

戻り値


ReloadAsync

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

このメソッドは、ユーザーがブラウザの更新をトリガーしたかのように、現在のページをリロードします。メインリソース応答を返します。複数のリダイレクトの場合、ナビゲーションは最後のリダイレクトの応答で解決されます。

使用法

await Page.ReloadAsync(options);

引数

  • options PageReloadOptions? (任意)
    • 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' - ネットワーク応答が受信され、ドキュメントの読み込みが開始されたときに操作が終了したと見なします。

戻り値


RemoveLocatorHandlerAsync

追加バージョン: v1.44 page.RemoveLocatorHandlerAsync

特定のロケーターのために Page.AddLocatorHandlerAsync() によって追加されたすべてのロケーターハンドラーを削除します。

使用法

await Page.RemoveLocatorHandlerAsync(locator);

引数

戻り値


RequestGCAsync

追加日: v1.48 page.RequestGCAsync

ページにガベージコレクションを実行するように要求します。到達不能なすべてのオブジェクトが収集される保証はありません。

これはメモリリークを検出するのに役立ちます。たとえば、ページにリークする可能性のある大きなオブジェクト 'suspect' がある場合、WeakRef を使用してリークしないことを確認できます。

// 1. In your page, save a WeakRef for the "suspect".
await Page.EvaluateAsync("globalThis.suspectWeakRef = new WeakRef(suspect)");
// 2. Request garbage collection.
await Page.RequestGCAsync();
// 3. Check that weak ref does not deref to the original object.
Assert.True(await Page.EvaluateAsync("!globalThis.suspectWeakRef.deref()"));

使用法

await Page.RequestGCAsync();

戻り値


RouteAsync

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

ルーティングは、ページによって行われるネットワークリクエストを変更する機能を提供します。

ルーティングが有効になると、URLパターンに一致するすべてのリクエストは、続行、完了、または中止されない限り停止します。

レスポンスがリダイレクトの場合、ハンドラーは最初のURLに対してのみ呼び出されます。

Page.RouteAsync() は Service Worker によって傍受されたリクエストを傍受しません。この問題については、こちらを参照してください。リクエスト傍受を使用する場合は、ServiceWorkers'block' に設定して Service Worker を無効にすることをお勧めします。

Page.RouteAsync() は、ポップアップページの最初の要求をインターセプトしません。代わりに BrowserContext.RouteAsync() を使用してください。

使用法

すべての画像リクエストを中止する素朴なハンドラの例

var page = await browser.NewPageAsync();
await page.RouteAsync("**/*.{png,jpg,jpeg}", async r => await r.AbortAsync());
await page.GotoAsync("https://www.microsoft.com");

または、代わりに正規表現パターンを使用する同じスニペット

var page = await browser.NewPageAsync();
await page.RouteAsync(new Regex("(\\.png$)|(\\.jpg$)"), async r => await r.AbortAsync());
await page.GotoAsync("https://www.microsoft.com");

リクエストを調べてルートアクションを決定することができます。たとえば、一部の POST データを含むすべてのリクエストをモックし、その他のすべてのリクエストをそのままにするなどです。

await page.RouteAsync("/api/**", async r =>
{
if (r.Request.PostData.Contains("my-string"))
await r.FulfillAsync(new() { Body = "mocked-data" });
else
await r.ContinueAsync();
});

リクエストが両方のハンドラーに一致する場合、ページルートはブラウザコンテキストルート(BrowserContext.RouteAsync() で設定)よりも優先されます。

ルートとそのハンドラーを削除するには、Page.UnrouteAsync() を使用します。

ルーティングを有効にすると、HTTP キャッシュが無効になります。

引数

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

    ルーティング中に一致する URL を受け取るグロブパターン、正規表現パターン、または述語。コンテキストオプションで BaseURL が設定されており、指定された URL が * で始まらない文字列の場合、new URL() コンストラクターを使用して解決されます。

  • handler Action<Route>#

    リクエストをルーティングするハンドラ関数。

  • options PageRouteOptions? (任意)

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

      ルートが使用される頻度。デフォルトでは毎回使用されます。

戻り値


RouteFromHARAsync

追加日: v1.23 page.RouteFromHARAsync

指定された場合、ページで行われるネットワークリクエストは HAR ファイルから提供されます。HAR からのリプレイについて詳しくは、こちらをご覧ください。

Playwright は、Service Worker によって傍受されたリクエストを HAR ファイルから提供しません。この問題については、こちらを参照してください。リクエスト傍受を使用する場合は、ServiceWorkers'block' に設定して Service Worker を無効にすることをお勧めします。

使用法

await Page.RouteFromHARAsync(har, options);

引数

  • har string#

    事前に記録されたネットワークデータを含む HAR ファイルへのパス。path が相対パスの場合、現在の作業ディレクトリに対して解決されます。

  • options PageRouteFromHAROptions? (任意)

    • NotFound enum HarNotFound { Abort, Fallback }? (任意)#

      • 'abort' に設定されている場合、HAR ファイルに見つからないリクエストは中止されます。
      • 'fallback' に設定すると、見つからないリクエストはネットワークに送信されます。

      デフォルトは abort です。

    • Update bool? (任意)#

      指定された場合、HAR ファイルから提供する代わりに、実際のネットワーク情報で指定された HAR を更新します。ファイルは BrowserContext.CloseAsync() が呼び出されたときにディスクに書き込まれます。

    • UpdateContent enum RouteFromHarUpdateContentPolicy { Embed, Attach }? (任意)追加日: v1.32#

      リソースコンテンツ管理を制御するためのオプション設定。attach が指定されている場合、リソースは個別のファイルまたは ZIP アーカイブ内のエントリとして永続化されます。embed が指定されている場合、コンテンツは HAR ファイル内にインラインで格納されます。

    • UpdateMode enum HarMode { Full, Minimal }? (任意)追加日: v1.32#

      minimal に設定すると、HAR からルーティングするために必要な情報のみが記録されます。これにより、HAR からリプレイするときに使用されないサイズ、タイミング、ページ、クッキー、セキュリティ、およびその他の種類の HAR 情報が省略されます。デフォルトは minimal です。

    • Url|UrlRegex string? | Regex? (任意)#

      リクエスト URL に一致するグロブパターン、正規表現、または述語。パターンに一致する URL を持つリクエストのみが HAR ファイルから提供されます。指定されていない場合、すべてのリクエストが HAR ファイルから提供されます。

戻り値


RouteWebSocketAsync

追加日: v1.48 page.RouteWebSocketAsync

このメソッドを使用すると、ページによって行われるwebsocket接続を変更できます。

このメソッドが呼び出された後に作成された WebSocket のみがルーティングされることに注意してください。ページをナビゲートする前にこのメソッドを呼び出すことをお勧めします。

使用法

以下は、単一のメッセージに応答するシンプルなモックの例です。WebSocketRoute で詳細と例を参照してください。

await page.RouteWebSocketAsync("/ws", ws => {
ws.OnMessage(frame => {
if (frame.Text == "request")
ws.Send("response");
});
});

引数

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

    このパターンに一致する URL を持つ WebSocket のみがルーティングされます。文字列パターンは、BaseURL コンテキストオプションに対して相対的になります。

  • handler Action<WebSocketRoute>#

    WebSocket をルーティングするハンドラ関数。

戻り値


RunAndWaitForConsoleMessageAsync

追加バージョン: v1.9 page.RunAndWaitForConsoleMessageAsync

アクションを実行し、ページで記録される ConsoleMessage を待ちます。述語が提供された場合、ConsoleMessage の値を predicate 関数に渡し、predicate(message) が真値を返すまで待機します。Page.Console イベントが発火する前にページが閉じられた場合、エラーをスローします。

使用法

await Page.RunAndWaitForConsoleMessageAsync(action, options);

引数

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

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

  • options PageRunAndWaitForConsoleMessageOptions? (任意)

    • Predicate Func<ConsoleMessage?, bool> (任意)#

      ConsoleMessage オブジェクトを受け取り、待機が解決されるべきときに真値に解決します。

    • Timeout [float]? (任意)#

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

戻り値


WaitForConsoleMessageAsync

追加バージョン: v1.9 page.WaitForConsoleMessageAsync

アクションを実行し、ページで記録される ConsoleMessage を待ちます。述語が提供された場合、ConsoleMessage の値を predicate 関数に渡し、predicate(message) が真値を返すまで待機します。Page.Console イベントが発火する前にページが閉じられた場合、エラーをスローします。

使用法

await Page.WaitForConsoleMessageAsync(action, options);

引数

  • options PageRunAndWaitForConsoleMessageOptions? (任意)
    • Predicate Func<ConsoleMessage?, bool> (任意)#

      ConsoleMessage オブジェクトを受け取り、待機が解決されるべきときに真値に解決します。

    • Timeout [float]? (任意)#

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

戻り値


RunAndWaitForDownloadAsync

追加バージョン: v1.9 page.RunAndWaitForDownloadAsync

アクションを実行し、新しい Download を待ちます。述語が提供された場合、Download の値を predicate 関数に渡し、predicate(download) が真値を返すまで待ちます。ダウンロードイベントが発火する前にページが閉じられた場合、エラーをスローします。

使用法

await Page.RunAndWaitForDownloadAsync(action, options);

引数

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

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

  • options PageRunAndWaitForDownloadOptions? (任意)

    • Predicate Func<Download?, bool> (任意)#

      Download オブジェクトを受け取り、待機が解決されるべきときに真値に解決します。

    • Timeout [float]? (任意)#

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

戻り値


WaitForDownloadAsync

追加バージョン: v1.9 page.WaitForDownloadAsync

アクションを実行し、新しい Download を待ちます。述語が提供された場合、Download の値を predicate 関数に渡し、predicate(download) が真値を返すまで待ちます。ダウンロードイベントが発火する前にページが閉じられた場合、エラーをスローします。

使用法

await Page.WaitForDownloadAsync(action, options);

引数

  • options PageRunAndWaitForDownloadOptions? (任意)
    • Predicate Func<Download?, bool> (任意)#

      Download オブジェクトを受け取り、待機が解決されるべきときに真値に解決します。

    • Timeout [float]? (任意)#

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

戻り値


RunAndWaitForFileChooserAsync

追加バージョン: v1.9 page.RunAndWaitForFileChooserAsync

アクションを実行し、新しい FileChooser が作成されるのを待ちます。述語が提供された場合、FileChooser の値を predicate 関数に渡し、predicate(fileChooser) が真値を返すまで待ちます。ファイルチューザーが開かれる前にページが閉じられた場合、エラーをスローします。

使用法

await Page.RunAndWaitForFileChooserAsync(action, options);

引数

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

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

  • options PageRunAndWaitForFileChooserOptions? (任意)

    • Predicate Func<FileChooser?, bool> (任意)#

      FileChooser オブジェクトを受け取り、待機が解決されるべきときに真値に解決します。

    • Timeout [float]? (任意)#

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

戻り値


WaitForFileChooserAsync

追加バージョン: v1.9 page.WaitForFileChooserAsync

アクションを実行し、新しい FileChooser が作成されるのを待ちます。述語が提供された場合、FileChooser の値を predicate 関数に渡し、predicate(fileChooser) が真値を返すまで待ちます。ファイルチューザーが開かれる前にページが閉じられた場合、エラーをスローします。

使用法

await Page.WaitForFileChooserAsync(action, options);

引数

  • options PageRunAndWaitForFileChooserOptions? (任意)
    • Predicate Func<FileChooser?, bool> (任意)#

      FileChooser オブジェクトを受け取り、待機が解決されるべきときに真値に解決します。

    • Timeout [float]? (任意)#

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

戻り値


RunAndWaitForPopupAsync

追加バージョン: v1.9 page.RunAndWaitForPopupAsync

アクションを実行し、ポップアップ Page を待ちます。述語が提供された場合、[Popup] の値を predicate 関数に渡し、predicate(page) が真値を返すまで待ちます。ポップアップイベントが発火する前にページが閉じられた場合、エラーをスローします。

使用法

await Page.RunAndWaitForPopupAsync(action, options);

引数

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

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

  • options PageRunAndWaitForPopupOptions? (任意)

    • Predicate Func<Page?, bool> (任意)#

      Page オブジェクトを受け取り、待機が解決されるべきときに真値に解決します。

    • Timeout [float]? (任意)#

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

戻り値


WaitForPopupAsync

追加バージョン: v1.9 page.WaitForPopupAsync

アクションを実行し、ポップアップ Page を待ちます。述語が提供された場合、[Popup] の値を predicate 関数に渡し、predicate(page) が真値を返すまで待ちます。ポップアップイベントが発火する前にページが閉じられた場合、エラーをスローします。

使用法

await Page.WaitForPopupAsync(action, options);

引数

  • options PageRunAndWaitForPopupOptions? (任意)
    • Predicate Func<Page?, bool> (任意)#

      Page オブジェクトを受け取り、待機が解決されるべきときに真値に解決します。

    • Timeout [float]? (任意)#

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

戻り値


RunAndWaitForRequestAsync

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

一致するリクエストを待ち、それを返します。イベントの詳細については、イベントの待機を参照してください。

使用法

// Waits for the next request with the specified url.
await page.RunAndWaitForRequestAsync(async () =>
{
await page.GetByText("trigger request").ClickAsync();
}, "http://example.com/resource");

// Alternative way with a predicate.
await page.RunAndWaitForRequestAsync(async () =>
{
await page.GetByText("trigger request").ClickAsync();
}, request => request.Url == "https://example.com" && request.Method == "GET");

引数

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

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

  • urlOrPredicate string | Regex | Func<Request, bool>#

    リクエスト URL 文字列、正規表現、または Request オブジェクトを受け取る述語。コンテキストオプションで BaseURL が提供されており、渡された URL がパスの場合、new URL() コンストラクターを介して結合されます。

  • options PageRunAndWaitForRequestOptions? (任意)

    • Timeout [float]? (任意)#

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

戻り値


WaitForRequestAsync

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

一致するリクエストを待ち、それを返します。イベントの詳細については、イベントの待機を参照してください。

使用法

// Waits for the next request with the specified url.
await page.RunAndWaitForRequestAsync(async () =>
{
await page.GetByText("trigger request").ClickAsync();
}, "http://example.com/resource");

// Alternative way with a predicate.
await page.RunAndWaitForRequestAsync(async () =>
{
await page.GetByText("trigger request").ClickAsync();
}, request => request.Url == "https://example.com" && request.Method == "GET");

引数

  • urlOrPredicate string | Regex | Func<Request, bool>#

    リクエスト URL 文字列、正規表現、または Request オブジェクトを受け取る述語。コンテキストオプションで BaseURL が提供されており、渡された URL がパスの場合、new URL() コンストラクターを介して結合されます。

  • options PageRunAndWaitForRequestOptions? (任意)

    • Timeout [float]? (任意)#

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

戻り値


RunAndWaitForRequestFinishedAsync

追加日: v1.12 page.RunAndWaitForRequestFinishedAsync

アクションを実行し、Request の読み込みが完了するのを待ちます。述語が指定されている場合、Request の値を predicate 関数に渡し、predicate(request) が真の値を返すまで待ちます。Page.RequestFinished イベントが発生する前にページが閉じられた場合、エラーをスローします。

使用法

await Page.RunAndWaitForRequestFinishedAsync(action, options);

引数

  • action Func<Task>#

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

  • options PageRunAndWaitForRequestFinishedOptions? (optional)

    • Predicate Func<Request?, bool> (optional)#

      Request オブジェクトを受け取り、待機が解決されるときに真の値を返します。

    • Timeout [float]? (optional)#

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

戻り値


WaitForRequestFinishedAsync

追加日: v1.12 page.WaitForRequestFinishedAsync

アクションを実行し、Request の読み込みが完了するのを待ちます。述語が指定されている場合、Request の値を predicate 関数に渡し、predicate(request) が真の値を返すまで待ちます。Page.RequestFinished イベントが発生する前にページが閉じられた場合、エラーをスローします。

使用法

await Page.WaitForRequestFinishedAsync(action, options);

引数

  • options PageRunAndWaitForRequestFinishedOptions? (optional)
    • Predicate Func<Request?, bool> (optional)#

      Request オブジェクトを受け取り、待機が解決されるときに真の値を返します。

    • Timeout [float]? (optional)#

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

戻り値


RunAndWaitForResponseAsync

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

一致したレスポンスを返します。イベントの詳細については、イベントの待機を参照してください。

使用法

// Waits for the next response with the specified url.
await page.RunAndWaitForResponseAsync(async () =>
{
await page.GetByText("trigger response").ClickAsync();
}, "http://example.com/resource");

// Alternative way with a predicate.
await page.RunAndWaitForResponseAsync(async () =>
{
await page.GetByText("trigger response").ClickAsync();
}, response => response.Url == "https://example.com" && response.Status == 200 && response.Request.Method == "GET");

引数

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

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

  • urlOrPredicate string | Regex | Func<Response, bool>#

    リクエストURLの文字列、正規表現、またはResponseオブジェクトを受け取る述語。コンテキストオプションでBaseURLが提供され、渡されたURLがパスの場合、new URL()コンストラクターによって結合されます。

  • options PageRunAndWaitForResponseOptions? (optional)

    • Timeout [float]? (optional)#

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

戻り値


WaitForResponseAsync

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

一致したレスポンスを返します。イベントの詳細については、イベントの待機を参照してください。

使用法

// Waits for the next response with the specified url.
await page.RunAndWaitForResponseAsync(async () =>
{
await page.GetByText("trigger response").ClickAsync();
}, "http://example.com/resource");

// Alternative way with a predicate.
await page.RunAndWaitForResponseAsync(async () =>
{
await page.GetByText("trigger response").ClickAsync();
}, response => response.Url == "https://example.com" && response.Status == 200 && response.Request.Method == "GET");

引数

  • urlOrPredicate string | Regex | Func<Response, bool>#

    リクエストURLの文字列、正規表現、またはResponseオブジェクトを受け取る述語。コンテキストオプションでBaseURLが提供され、渡されたURLがパスの場合、new URL()コンストラクターによって結合されます。

  • options PageRunAndWaitForResponseOptions? (optional)

    • Timeout [float]? (optional)#

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

戻り値


RunAndWaitForWebSocketAsync

追加バージョン: v1.9 page.RunAndWaitForWebSocketAsync

アクションを実行し、新しいWebSocketを待ちます。述語が指定されている場合、WebSocketの値をpredicate関数に渡し、predicate(webSocket)が真の値を返すまで待ちます。WebSocketイベントが発生する前にページが閉じられた場合、エラーをスローします。

使用法

await Page.RunAndWaitForWebSocketAsync(action, options);

引数

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

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

  • options PageRunAndWaitForWebSocketOptions? (optional)

    • Predicate Func<WebSocket?, bool> (optional)#

      WebSocketオブジェクトを受け取り、待機が解決されるときに真の値を返します。

    • Timeout [float]? (optional)#

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

戻り値


WaitForWebSocketAsync

追加バージョン: v1.9 page.WaitForWebSocketAsync

アクションを実行し、新しいWebSocketを待ちます。述語が指定されている場合、WebSocketの値をpredicate関数に渡し、predicate(webSocket)が真の値を返すまで待ちます。WebSocketイベントが発生する前にページが閉じられた場合、エラーをスローします。

使用法

await Page.WaitForWebSocketAsync(action, options);

引数

  • options PageRunAndWaitForWebSocketOptions? (optional)
    • Predicate Func<WebSocket?, bool> (optional)#

      WebSocketオブジェクトを受け取り、待機が解決されるときに真の値を返します。

    • Timeout [float]? (optional)#

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

戻り値


RunAndWaitForWorkerAsync

追加バージョン: v1.9 page.RunAndWaitForWorkerAsync

アクションを実行し、新しいWorkerを待ちます。述語が指定されている場合、Workerの値をpredicate関数に渡し、predicate(worker)が真の値を返すまで待ちます。ワーカーイベントが発生する前にページが閉じられた場合、エラーをスローします。

使用法

await Page.RunAndWaitForWorkerAsync(action, options);

引数

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

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

  • options PageRunAndWaitForWorkerOptions? (optional)

    • Predicate Func<Worker?, bool> (optional)#

      Workerオブジェクトを受け取り、待機が解決されるときに真の値を返します。

    • Timeout [float]? (optional)#

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

戻り値


WaitForWorkerAsync

追加バージョン: v1.9 page.WaitForWorkerAsync

アクションを実行し、新しいWorkerを待ちます。述語が指定されている場合、Workerの値をpredicate関数に渡し、predicate(worker)が真の値を返すまで待ちます。ワーカーイベントが発生する前にページが閉じられた場合、エラーをスローします。

使用法

await Page.WaitForWorkerAsync(action, options);

引数

  • options PageRunAndWaitForWorkerOptions? (optional)
    • Predicate Func<Worker?, bool> (optional)#

      Workerオブジェクトを受け取り、待機が解決されるときに真の値を返します。

    • Timeout [float]? (optional)#

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

戻り値


ScreenshotAsync

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

キャプチャされたスクリーンショットを含むバッファを返します。

使用法

await Page.ScreenshotAsync(options);

引数

  • options PageScreenshotOptions? (optional)
    • Animations enum ScreenshotAnimations { Disabled, Allow }? (optional)#

      "disabled"に設定すると、CSSアニメーション、CSSトランジション、Webアニメーションが停止します。アニメーションは期間によって異なる扱いを受けます。

      • 有限のアニメーションは完了まで早送りされ、transitionendイベントが発生します。
      • 無限のアニメーションは初期状態にキャンセルされ、スクリーンショットの後に再生されます。

      デフォルトは"allow"で、アニメーションはそのまま残されます。

    • Caret enum ScreenshotCaret { Hide, Initial }? (optional)#

      "hide"に設定すると、スクリーンショットはテキストキャレットを非表示にします。"initial"に設定すると、テキストキャレットの動作は変更されません。デフォルトは"hide"です。

    • Clip Clip? (optional)#

      • X [float]

        クリップ領域の左上隅のx座標

      • Y [float]

        クリップ領域の左上隅のy座標

      • Width [float]

        クリッピング領域の幅

      • Height [float]

        クリッピング領域の高さ

      結果の画像のクリッピングを指定するオブジェクト。

    • FullPage bool? (optional)#

      trueの場合、現在表示されているビューポートではなく、スクロール可能なページ全体のスクリーンショットを撮ります。デフォルトは false です。

    • Mask IEnumerable?<Locator> (optional)#

      スクリーンショット撮影時にマスクされるロケーターを指定します。マスクされた要素は、バウンディングボックスを完全に覆うピンクのボックス#FF00FFMaskColorでカスタマイズ可能)でオーバーレイされます。マスクは非表示の要素にも適用されます。これを無効にするには、可視要素のみを照合を参照してください。

    • MaskColor string? (optional)追加されたバージョン: v1.35#

      CSSカラー形式で、マスクされた要素のオーバーレイボックスの色を指定します。デフォルトの色はピンク#FF00FFです。

    • OmitBackground bool? (optional)#

      デフォルトの白い背景を非表示にし、透過性のあるスクリーンショットをキャプチャできるようにします。jpeg画像には適用されません。デフォルトはfalseです。

    • Path string? (optional)#

      画像を保存するファイルパス。スクリーンショットの種類はファイル拡張子から推測されます。Pathが相対パスの場合、現在の作業ディレクトリを基準に解決されます。パスが指定されない場合、画像はディスクに保存されません。

    • Quality int? (optional)#

      画像の品質(0~100)。png画像には適用されません。

    • Scale enum ScreenshotScale { Css, Device }? (optional)#

      "css"に設定すると、スクリーンショットはページ上の各CSSピクセルにつき1ピクセルになります。高DPIデバイスの場合、これによりスクリーンショットが小さく保たれます。"device"オプションを使用すると、各デバイスピクセルにつき1ピクセルが生成されるため、高DPIデバイスのスクリーンショットは2倍以上大きくなります。

      デフォルトは"device"です。

    • Style string? (optional)追加日: v1.41#

      スクリーンショット作成時に適用するスタイルシートのテキスト。これにより、動的な要素を非表示にしたり、要素を見えなくしたり、プロパティを変更したりして、再現性のあるスクリーンショットを作成するのに役立ちます。このスタイルシートはShadow DOMを貫通し、内部フレームにも適用されます。

    • Timeout [float]? (optional)#

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

    • Type enum ScreenshotType { Png, Jpeg }? (optional)#

      スクリーンショットの種類を指定します。デフォルトはpngです。

戻り値


SetContentAsync

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

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

使用法

await Page.SetContentAsync(html, options);

引数

  • html string#

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

  • options PageSetContentOptions? (optional)

    • Timeout [float]? (optional)#

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

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

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

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

戻り値


SetDefaultNavigationTimeout

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

この設定は、以下のメソッドと関連するショートカットのデフォルトの最大ナビゲーション時間を変更します。

使用法

Page.SetDefaultNavigationTimeout(timeout);

引数

  • timeout [float]#

    最大ナビゲーション時間 (ミリ秒)


SetDefaultTimeout

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

この設定は、timeoutオプションを受け入れるすべてのメソッドのデフォルトの最大時間を変更します。

使用法

Page.SetDefaultTimeout(timeout);

引数

  • timeout [float]#

    最大時間 (ミリ秒)。タイムアウトを無効にするには 0 を渡します。


SetExtraHTTPHeadersAsync

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

追加のHTTPヘッダーは、ページが開始するすべてのリクエストとともに送信されます。

Page.SetExtraHTTPHeadersAsync()は、送信リクエストのヘッダーの順序を保証しません。

使用法

await Page.SetExtraHTTPHeadersAsync(headers);

引数

  • headers IDictionary<string, string>#

    すべてのリクエストとともに送信される追加の HTTP ヘッダーを含むオブジェクト。すべてのヘッダー値は文字列である必要があります。

戻り値


SetViewportSizeAsync

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

単一のブラウザに複数のページがある場合、各ページは独自のビューポートサイズを持つことができます。ただし、Browser.NewContextAsync()を使用すると、コンテキスト内のすべてのページのビューポートサイズ(およびその他)を一度に設定できます。

Page.SetViewportSizeAsync()はページのサイズを変更します。多くのウェブサイトは携帯電話のサイズ変更を想定していないため、ページに移動する前にビューポートサイズを設定する必要があります。Page.SetViewportSizeAsync()screenサイズもリセットします。これらのプロパティをより細かく制御する必要がある場合は、screenviewportパラメーターを指定してBrowser.NewContextAsync()を使用してください。

使用法

var page = await browser.NewPageAsync();
await page.SetViewportSizeAsync(640, 480);
await page.GotoAsync("https://www.microsoft.com");

引数

  • width int追加バージョン: v1.10#

    ページの幅(ピクセル単位)。

  • height int追加バージョン: v1.10#

    ページの高さ(ピクセル単位)。

戻り値


TitleAsync

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

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

使用法

await Page.TitleAsync();

戻り値


UnrouteAsync

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

Page.RouteAsync()で作成されたルートを削除します。handlerが指定されていない場合、urlに対するすべてのルートを削除します。

使用法

await Page.UnrouteAsync(url, handler);

引数

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

    ルーティング中に照合するURLを受け取るグロブパターン、正規表現パターン、または述語。

  • handler Action<Route?> (optional)#

    リクエストをルーティングするためのオプションのハンドラー関数。

戻り値


UnrouteAllAsync

追加日: v1.41 page.UnrouteAllAsync

Page.RouteAsync()およびPage.RouteFromHARAsync()で作成されたすべてのルートを削除します。

使用法

await Page.UnrouteAllAsync(options);

引数

  • options PageUnrouteAllOptions? (optional)
    • Behavior enum UnrouteBehavior { Wait, IgnoreErrors, Default }? (optional)#

      既に実行中のハンドラを待機するかどうか、およびエラーがスローされた場合の対処方法を指定します。

      • 'default' - 現在のハンドラ呼び出し (もしあれば) の完了を待たず、アンルートされたハンドラがエラーをスローした場合、未処理のエラーが発生する可能性があります。
      • 'wait' - 現在のハンドラ呼び出し (もしあれば) の完了を待ちます。
      • 'ignoreErrors' - 現在のハンドラ呼び出し (もしあれば) の完了を待たず、アンルーティング後にハンドラによってスローされたすべてのエラーは静かにキャッチされます。

戻り値


Url

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

使用法

Page.Url

戻り値


Video

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

このページに関連付けられたビデオオブジェクト。

使用法

Page.Video

戻り値


ViewportSize

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

使用法

Page.ViewportSize

戻り値

  • ViewportSize?#
    • width int

      ページ幅(ピクセル単位)。

    • height int

      ページ高さ(ピクセル単位)。


WaitForFunctionAsync

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

expressionが真の値を返したときに解決されます。真の値をJSHandleとして解決します。

使用法

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

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

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

Page.WaitForFunctionAsync()関数の述語に引数を渡すには

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

引数

  • expression string#

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

  • arg EvaluationArgument? (optional)#

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

  • options PageWaitForFunctionOptions? (optional)

    • PollingInterval [float]? (optional)#

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

    • Timeout [float]? (optional)#

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

戻り値


WaitForLoadStateAsync

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

必要な読み込み状態に到達すると解決されます。

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

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

使用法

await page.GetByRole(AriaRole.Button).ClickAsync(); // Click triggers navigation.
await page.WaitForLoadStateAsync(); // The promise resolves after 'load' event.
var popup = await page.RunAndWaitForPopupAsync(async () =>
{
await page.GetByRole(AriaRole.Button).ClickAsync(); // click triggers the popup
});
// Wait for the "DOMContentLoaded" event.
await popup.WaitForLoadStateAsync(LoadState.DOMContentLoaded);
Console.WriteLine(await popup.TitleAsync()); // popup is ready to use.

引数

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

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

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

戻り値


WaitForURLAsync

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

メインフレームが指定されたURLにナビゲートするのを待ちます。

使用法

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

引数

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

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

  • options PageWaitForURLOptions? (optional)

    • Timeout [float]? (optional)#

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

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

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

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

戻り値


Workers

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

このメソッドは、ページに関連付けられたすべての専用 WebWorkers を返します。

これにはサービスワーカーは含まれません

使用法

Page.Workers

戻り値


プロパティ

APIRequest

追加バージョン: v1.16 page.APIRequest

このページに関連付けられたAPIテストヘルパー。このメソッドは、ページのコンテキストにあるBrowserContext.APIRequestと同じインスタンスを返します。詳細については、BrowserContext.APIRequestを参照してください。

使用法

Page.APIRequest

タイプ


Clock

追加されたバージョン: v1.45 page.Clock

Playwright には、クロックと時間の経過をモックする機能があります。

使用法

Page.Clock

タイプ


Keyboard

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

使用法

Page.Keyboard

タイプ


Mouse

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

使用法

Page.Mouse

タイプ


Touchscreen

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

使用法

Page.Touchscreen

タイプ


イベント

event Close

v1.9より前に追加 page.event Close

ページが閉じられたときに発行されます。

使用法

Page.Close += async (_, page) => {};

イベントデータ


event Console

v1.9より前に追加 page.event Console

ページ内の JavaScript が console.logconsole.dir などのコンソール API メソッドのいずれかを呼び出したときに発生します。

console.logに渡された引数は、ConsoleMessageイベントハンドラー引数で利用できます。

使用法

page.Console += async (_, msg) =>
{
foreach (var arg in msg.Args)
Console.WriteLine(await arg.JsonValueAsync<object>());
};

await page.EvaluateAsync("console.log('hello', 5, { foo: 'bar' })");

イベントデータ


event Crash

v1.9より前に追加 page.event Crash

ページがクラッシュしたときに発行されます。ブラウザページは、あまりにも多くのメモリを割り当てようとするとクラッシュする可能性があります。ページがクラッシュすると、進行中およびその後の操作は例外をスローします。

クラッシュに対処する最も一般的な方法は、例外をキャッチすることです。

try {
// Crash might happen during a click.
await page.ClickAsync("button");
// Or while waiting for an event.
await page.WaitForPopup();
} catch (PlaywrightException e) {
// When the page crashes, exception message contains "crash".
}

使用法

Page.Crash += async (_, page) => {};

イベントデータ


event Dialog

v1.9より前に追加 page.event Dialog

alertpromptconfirmbeforeunloadなどのJavaScriptダイアログが表示されたときに発生します。リスナーはダイアログをDialog.AcceptAsync()またはDialog.DismissAsync()のいずれかで処理**する必要があります**。そうしないと、ページはダイアログを待機してフリーズし、クリックなどのアクションは決して完了しません。

使用法

page.RequestFailed += (_, request) =>
{
Console.WriteLine(request.Url + " " + request.Failure);
};

Page.DialogまたはBrowserContext.Dialogリスナーが存在しない場合、すべてのダイアログは自動的に閉じられます。

イベントデータ


event DOMContentLoaded

追加バージョン: v1.9 page.event DOMContentLoaded

JavaScript DOMContentLoaded イベントがディスパッチされたときに発行されます。

使用法

Page.DOMContentLoaded += async (_, page) => {};

イベントデータ


event Download

v1.9より前に追加 page.event Download

添付ファイルのダウンロードが開始されたときに発生します。ユーザーは、渡されたDownloadインスタンスを介して、ダウンロードされたコンテンツに対する基本的なファイル操作にアクセスできます。

使用法

Page.Download += async (_, download) => {};

イベントデータ


event FileChooser

追加バージョン: v1.9 page.event FileChooser

<input type=file>をクリックした後など、ファイル選択が表示されるときに発生します。Playwrightは、FileChooser.SetFilesAsync()を使用して入力ファイルをセットすることで応答できます。

page.FileChooser += (_, fileChooser) =>
{
fileChooser.SetFilesAsync(@"C:\temp\myfile.pdf");
};

使用法

Page.FileChooser += async (_, fileChooser) => {};

イベントデータ


event FrameAttached

追加バージョン: v1.9 page.event FrameAttached

フレームがアタッチされたときに発行されます。

使用法

Page.FrameAttached += async (_, frame) => {};

イベントデータ


event FrameDetached

追加バージョン: v1.9 page.event FrameDetached

フレームがデタッチされたときに発行されます。

使用法

Page.FrameDetached += async (_, frame) => {};

イベントデータ


event FrameNavigated

追加バージョン: v1.9 page.event FrameNavigated

フレームが新しいURLにナビゲートされたときに発行されます。

使用法

Page.FrameNavigated += async (_, frame) => {};

イベントデータ


event Load

v1.9より前に追加 page.event Load

JavaScript load イベントがディスパッチされたときに発行されます。

使用法

Page.Load += async (_, page) => {};

イベントデータ


event PageError

追加バージョン: v1.9 page.event PageError

ページ内でキャッチされない例外が発生したときに発行されます。

// Log all uncaught errors to the terminal
page.PageError += (_, exception) =>
{
Console.WriteLine("Uncaught exception: " + exception);
};

使用法

Page.PageError += async (_, value) => {};

イベントデータ


event Popup

v1.9より前に追加 page.event Popup

ページが新しいタブまたはウィンドウを開いたときに発生します。このイベントはBrowserContext.Pageに追加して発行されますが、このページに関連するポップアップに対してのみです。

ページが利用可能になる最も早いタイミングは、初期URLに移動したときです。たとえば、window.open('http://example.com')でポップアップを開いた場合、このイベントは「http://example.com」へのネットワークリクエストが完了し、そのレスポンスがポップアップで読み込みを開始したときに発生します。このネットワークリクエストをルーティング/リッスンしたい場合は、Page上の類似メソッドの代わりに、それぞれBrowserContext.RouteAsync()およびBrowserContext.Requestを使用してください。

var popup = await page.RunAndWaitForPopupAsync(async () =>
{
await page.GetByText("open the popup").ClickAsync();
});
Console.WriteLine(await popup.EvaluateAsync<string>("location.href"));

ページが特定の状態になるまで待機するには、Page.WaitForLoadStateAsync()を使用します(ほとんどの場合、必要ありません)。

使用法

Page.Popup += async (_, page) => {};

イベントデータ


event Request

v1.9より前に追加 page.event Request

ページがリクエストを発行したときに発生します。requestオブジェクトは読み取り専用です。リクエストを傍受して変更するには、Page.RouteAsync()またはBrowserContext.RouteAsync()を参照してください。

使用法

Page.Request += async (_, request) => {};

イベントデータ


event RequestFailed

追加バージョン: v1.9 page.event RequestFailed

リクエストがタイムアウトなどで失敗したときに発行されます。

404や503のようなHTTPエラーレスポンスは、HTTPの観点からは依然として成功したレスポンスであるため、リクエストはPage.RequestFinishedイベントで完了し、Page.RequestFailedイベントでは完了しません。リクエストは、クライアントがサーバーからHTTPレスポンスを取得できない場合(例:ネットワークエラー net::ERR_FAILED)、失敗と見なされます。

使用法

Page.RequestFailed += async (_, request) => {};

イベントデータ


event RequestFinished

追加バージョン: v1.9 page.event RequestFinished

レスポンスボディのダウンロード後にリクエストが正常に完了したときに発行されます。成功したレスポンスの場合、イベントのシーケンスは requestresponserequestfinished です。

使用法

Page.RequestFinished += async (_, request) => {};

イベントデータ


event Response

v1.9より前に追加 page.event Response

リクエストに対してresponseステータスとヘッダーが受信されたときに発生します。成功したレスポンスの場合、イベントのシーケンスはrequestresponserequestfinishedです。

使用法

Page.Response += async (_, response) => {};

イベントデータ


event WebSocket

追加バージョン: v1.9 page.event WebSocket

WebSocketリクエストが送信されたときに発生します。

使用法

Page.WebSocket += async (_, webSocket) => {};

イベントデータ


event Worker

v1.9より前に追加 page.event Worker

専用の WebWorker がページによって生成されたときに発行されます。

使用法

Page.Worker += async (_, worker) => {};

イベントデータ


非推奨

Accessibility

v1.9より前に追加 page.Accessibility
非推奨

このプロパティは非推奨です。ページのアクセシビリティをテストする必要がある場合は、Axe などの他のライブラリを使用してください。Axe との統合については、Node.js の ガイド を参照してください。

使用法

Page.Accessibility

タイプ


CheckAsync

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

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

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

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

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

使用法

await Page.CheckAsync(selector, options);

引数

  • selector string#

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

  • options PageCheckOptions? (optional)

    • Force bool? (optional)#

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

    • NoWaitAfter bool? (optional)#

      非推奨

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

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

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

      • X [float]

      • Y [float]

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

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

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

    • Timeout [float]? (optional)#

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

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

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

戻り値


ClickAsync

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

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

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

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

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

使用法

await Page.ClickAsync(selector, options);

引数

  • selector string#

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

  • options PageClickOptions? (optional)

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

      デフォルトは left です。

    • ClickCount int? (optional)#

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

    • Delay [float]? (optional)#

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

    • Force bool? (optional)#

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

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

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

    • NoWaitAfter bool? (optional)#

      非推奨

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

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

    • Position Position? (optional)#

      • X [float]

      • Y [float]

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

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

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

    • Timeout [float]? (optional)#

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

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

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

戻り値


DblClickAsync

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

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

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

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

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

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

使用法

await Page.DblClickAsync(selector, options);

引数

  • selector string#

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

  • options PageDblClickOptions? (optional)

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

      デフォルトは left です。

    • Delay [float]? (optional)#

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

    • Force bool? (optional)#

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

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

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

    • NoWaitAfter bool? (optional)#

      非推奨

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

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

    • Position Position? (optional)#

      • X [float]

      • Y [float]

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

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

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

    • Timeout [float]? (optional)#

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

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

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

戻り値


DispatchEventAsync

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

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

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

使用法

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

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

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

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

var dataTransfer = await page.EvaluateHandleAsync("() => new DataTransfer()");
await page.DispatchEventAsync("#source", "dragstart", new { dataTransfer });

引数

  • selector string#

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

  • type string#

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

  • eventInit EvaluationArgument? (optional)#

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

  • options PageDispatchEventOptions? (optional)

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

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

    • Timeout [float]? (optional)#

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

戻り値


EvalOnSelectorAsync

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

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

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

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

使用法

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

引数

  • selector string#

    クエリするセレクター。

  • expression string#

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

  • arg EvaluationArgument? (optional)#

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

  • options PageEvalOnSelectorOptions? (optional)

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

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

戻り値

  • [object]#

EvalOnSelectorAllAsync

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

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

このメソッドは、ページ内で指定されたセレクターに一致するすべての要素を検索し、一致した要素の配列をexpressionの最初の引数として渡します。expression呼び出しの結果を返します。

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

使用法

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

引数

  • selector string#

    クエリするセレクター。

  • expression string#

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

  • arg EvaluationArgument? (optional)#

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

戻り値

  • [object]#

FillAsync

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

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

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

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

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

使用法

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

引数

  • selector string#

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

  • value string#

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

  • options PageFillOptions? (optional)

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

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

    • NoWaitAfter bool? (optional)#

      非推奨

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

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

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

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

    • Timeout [float]? (optional)#

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

戻り値


FocusAsync

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

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

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

使用法

await Page.FocusAsync(selector, options);

引数

  • selector string#

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

  • options PageFocusOptions? (optional)

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

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

    • Timeout [float]? (optional)#

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

戻り値


GetAttributeAsync

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

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

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

使用法

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

引数

  • selector string#

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

  • name string#

    値を取得する属性名。

  • options PageGetAttributeOptions? (optional)

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

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

    • Timeout [float]? (optional)#

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

戻り値


HoverAsync

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

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

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

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

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

使用法

await Page.HoverAsync(selector, options);

引数

  • selector string#

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

  • options PageHoverOptions? (optional)

    • Force bool? (optional)#

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

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

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

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

      非推奨

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

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

    • Position Position? (optional)#

      • X [float]

      • Y [float]

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

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

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

    • Timeout [float]? (optional)#

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

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

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

戻り値


InnerHTMLAsync

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

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

element.innerHTML を返します。

使用法

await Page.InnerHTMLAsync(selector, options);

引数

  • selector string#

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

  • options PageInnerHTMLOptions? (optional)

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

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

    • Timeout [float]? (optional)#

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

戻り値


InnerTextAsync

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

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

element.innerText を返します。

使用法

await Page.InnerTextAsync(selector, options);

引数

  • selector string#

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

  • options PageInnerTextOptions? (optional)

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

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

    • Timeout [float]? (optional)#

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

戻り値


InputValueAsync

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

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

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

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

使用法

await Page.InputValueAsync(selector, options);

引数

  • selector string#

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

  • options PageInputValueOptions? (optional)

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

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

    • Timeout [float]? (optional)#

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

戻り値


IsCheckedAsync

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

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

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

使用法

await Page.IsCheckedAsync(selector, options);

引数

  • selector string#

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

  • options PageIsCheckedOptions? (optional)

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

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

    • Timeout [float]? (optional)#

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

戻り値


IsDisabledAsync

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

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

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

使用法

await Page.IsDisabledAsync(selector, options);

引数

  • selector string#

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

  • options PageIsDisabledOptions? (optional)

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

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

    • Timeout [float]? (optional)#

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

戻り値


IsEditableAsync

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

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

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

使用法

await Page.IsEditableAsync(selector, options);

引数

  • selector string#

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

  • options PageIsEditableOptions? (optional)

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

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

    • Timeout [float]? (optional)#

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

戻り値


IsEnabledAsync

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

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

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

使用法

await Page.IsEnabledAsync(selector, options);

引数

  • selector string#

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

  • options PageIsEnabledOptions? (optional)

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

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

    • Timeout [float]? (optional)#

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

戻り値


IsHiddenAsync

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

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

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

使用法

await Page.IsHiddenAsync(selector, options);

引数

  • selector string#

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

  • options PageIsHiddenOptions? (optional)

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

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

    • Timeout [float]? (optional)#

      非推奨

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

戻り値


IsVisibleAsync

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

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

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

使用法

await Page.IsVisibleAsync(selector, options);

引数

  • selector string#

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

  • options PageIsVisibleOptions? (optional)

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

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

    • Timeout [float]? (optional)#

      非推奨

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

戻り値


PressAsync

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

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

要素にフォーカスし、Keyboard.DownAsync()Keyboard.UpAsync()を使用します。

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

使用法

var page = await browser.NewPageAsync();
await page.GotoAsync("https://keycode.info");
await page.PressAsync("body", "A");
await page.ScreenshotAsync(new() { Path = "A.png" });
await page.PressAsync("body", "ArrowLeft");
await page.ScreenshotAsync(new() { Path = "ArrowLeft.png" });
await page.PressAsync("body", "Shift+O");
await page.ScreenshotAsync(new() { Path = "O.png" });

引数

  • selector string#

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

  • key string#

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

  • options PagePressOptions? (optional)

    • Delay [float]? (optional)#

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

    • NoWaitAfter bool? (optional)#

      非推奨

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

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

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

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

    • Timeout [float]? (optional)#

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

戻り値


QuerySelectorAsync

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

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

このメソッドは、ページ内で指定されたセレクターに一致する要素を見つけます。要素がセレクターに一致しない場合、戻り値は null に解決されます。ページ上の要素を待つには、Locator.WaitForAsync() を使用します。

使用法

await Page.QuerySelectorAsync(selector, options);

引数

  • selector string#

    クエリするセレクター。

  • options PageQuerySelectorOptions? (オプション)

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

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

戻り値


QuerySelectorAllAsync

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

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

このメソッドは、ページ内で指定されたセレクターに一致するすべての要素を検索します。セレクターに一致する要素がない場合、戻り値は [] に解決されます。

使用法

await Page.QuerySelectorAllAsync(selector);

引数

  • selector string#

    クエリするセレクター。

戻り値


RunAndWaitForNavigationAsync

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

このメソッドは本質的に競合が発生しやすいです。代わりに Page.WaitForURLAsync() を使用してください。

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

使用法

これは、ページが新しいURLにナビゲートするか、再読み込みされるときに解決されます。ページが間接的にナビゲーションを引き起こすコードを実行する場合に便利です。例えば、クリックターゲットにsetTimeoutからナビゲーションをトリガーするonclickハンドラーがある場合などです。この例を考えてみてください。

await page.RunAndWaitForNavigationAsync(async () =>
{
// This action triggers the navigation after a timeout.
await page.GetByText("Navigate after timeout").ClickAsync();
});

// The method continues after navigation has finished

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

引数

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

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

  • options PageRunAndWaitForNavigationOptions? (オプション)

    • 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より前に追加 page.WaitForNavigationAsync
非推奨

このメソッドは本質的に競合が発生しやすいです。代わりに Page.WaitForURLAsync() を使用してください。

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

使用法

これは、ページが新しいURLにナビゲートするか、再読み込みされるときに解決されます。ページが間接的にナビゲーションを引き起こすコードを実行する場合に便利です。例えば、クリックターゲットにsetTimeoutからナビゲーションをトリガーするonclickハンドラーがある場合などです。この例を考えてみてください。

await page.RunAndWaitForNavigationAsync(async () =>
{
// This action triggers the navigation after a timeout.
await page.GetByText("Navigate after timeout").ClickAsync();
});

// The method continues after navigation has finished

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

引数

  • options PageRunAndWaitForNavigationOptions? (オプション)
    • 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より前に追加 page.SelectOptionAsync
推奨されません

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

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

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

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

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

使用法

// Single selection matching the value or label
await page.SelectOptionAsync("select#colors", new[] { "blue" });
// single selection matching both the value and the label
await page.SelectOptionAsync("select#colors", new[] { new SelectOptionValue() { Label = "blue" } });
// multiple
await page.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 PageSelectOptionOptions? (オプション)

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

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

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

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

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

使用法

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

引数

  • selector string#

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

  • checkedState bool#

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

  • options PageSetCheckedOptions? (オプション)

    • 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より前に追加 page.SetInputFilesAsync
推奨されません

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

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

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

使用法

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

引数

  • selector string#

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

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

    • Name string

      ファイル名

    • MimeType string

      ファイルタイプ

    • Buffer byte[]

      ファイル内容

  • options PageSetInputFilesOptions? (オプション)

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

      非推奨

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

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

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

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

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

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

戻り値


TapAsync

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

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

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

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

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

Page.TapAsync() メソッドは、ブラウザコンテキストの HasTouch オプションが false の場合、例外をスローします。

使用法

await Page.TapAsync(selector, options);

引数

  • selector string#

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

  • options PageTapOptions? (オプション)

    • 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より前に追加 page.TextContentAsync
推奨されません

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

element.textContent を返します。

使用法

await Page.TextContentAsync(selector, options);

引数

  • selector string#

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

  • options PageTextContentOptions? (オプション)

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

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

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

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

戻り値


TypeAsync

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

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

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

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

使用法

引数

  • selector string#

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

  • text string#

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

  • options PageTypeOptions? (オプション)

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

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

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

      非推奨

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

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

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

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

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

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

戻り値


UncheckAsync

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

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

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

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

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

使用法

await Page.UncheckAsync(selector, options);

引数

  • selector string#

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

  • options PageUncheckOptions? (オプション)

    • 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より前に追加 page.WaitForSelectorAsync
推奨されません

代わりに、表示をアサートするウェブアサーション、またはロケーターベースの 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 Images()
{
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);
var element = await page.WaitForSelectorAsync("img");
Console.WriteLine($"Loaded image: {await element.GetAttributeAsync("src")}");
}

await browser.CloseAsync();
}
}

引数

  • selector string#

    クエリするセレクター。

  • options PageWaitForSelectorOptions? (オプション)

    • 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より前に追加 page.WaitForTimeoutAsync
推奨されません

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

指定されたミリ秒単位の timeout を待機します。

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

使用法

// Wait for 1 second
await page.WaitForTimeoutAsync(1000);

引数

  • timeout [float]#

    待機するタイムアウト

戻り値