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

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クラスは、NodeのネイティブなEventEmitterメソッド(ononceremoveListenerなど)を使用して処理できる様々なイベント(下記参照)を発行します。

この例では、単一のページ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();

すべてのアクション可能性チェックでカスタムコールバックを使用する例。常に表示される<body>ロケーターを使用しているため、ハンドラーはすべてのアクション可能性チェックの前に呼び出されます。ハンドラーが<body>要素を隠さないため、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

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

使用方法

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メディアタイプを、そして/または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)の転送もサポートしています。

使用方法

に引数を渡す

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

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

戻り値

  • [object]#

EvaluateHandleAsync

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

呼び出しの値を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? (オプション)#

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

戻り値


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#

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

  • 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

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

使用方法

次のコードスニペットは、<iframe id="my-frame">のようなID my-frameを持つiframe内でテキスト「Submit」を持つ要素を特定します。

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();

引数

  • testId string | Regex#

    要素を特定するためのID。

戻り値

詳細

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


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

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

使用方法

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

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

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

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ミリ秒間ネットワーク接続がない場合に操作が完了したとみなされます。このメソッドはテストには使用せず、代わりにウェブのアサーションに頼って準備状況を評価してください。
      • '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ミリ秒間ネットワーク接続がない場合に操作が完了したとみなされます。このメソッドはテストには使用せず、代わりにウェブのアサーションに頼って準備状況を評価してください。
      • '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()によって設定されたrefererヘッダー値よりも優先されます。

    • 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ミリ秒間ネットワーク接続がない場合に操作が完了したとみなされます。このメソッドはテストには使用せず、代わりにウェブのアサーションに頼って準備状況を評価してください。
      • '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"<article><div>Playwright</div></article>に一致します。

戻り値


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オプションをfalseにして、ヘッダーモードで起動されている必要があります。

使用方法

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" });

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

いくつかの例

  • 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サイズを、WidthおよびHeightまたは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ミリ秒間ネットワーク接続がない場合に操作が完了したとみなされます。このメソッドはテストには使用せず、代わりにウェブのアサーションに頼って準備状況を評価してください。
      • '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を更新します。ファイルは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? (任意)

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

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

    • Timeout [float]? (任意)#

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

戻り値


WaitForRequestFinishedAsync

追加日: v1.12 page.WaitForRequestFinishedAsync

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

使用方法

await Page.WaitForRequestFinishedAsync(action, options);

引数

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

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

    • Timeout [float]? (任意)#

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

    • Timeout [float]? (任意)#

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

    • Timeout [float]? (任意)#

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

戻り値


RunAndWaitForWebSocketAsync

追加日: v1.9 page.RunAndWaitForWebSocketAsync

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

使用方法

await Page.RunAndWaitForWebSocketAsync(action, options);

引数

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

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

  • options PageRunAndWaitForWebSocketOptions? (オプション)

    • Predicate Func<WebSocket?, bool> (オプション)#

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

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

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

戻り値


WaitForWebSocketAsync

追加日: v1.9 page.WaitForWebSocketAsync

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

使用方法

await Page.WaitForWebSocketAsync(action, options);

引数

  • options PageRunAndWaitForWebSocketOptions? (オプション)
    • Predicate Func<WebSocket?, bool> (オプション)#

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

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

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

戻り値


RunAndWaitForWorkerAsync

追加日: v1.9 page.RunAndWaitForWorkerAsync

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

使用方法

await Page.RunAndWaitForWorkerAsync(action, options);

引数

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

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

  • options PageRunAndWaitForWorkerOptions? (オプション)

    • Predicate Func<Worker?, bool> (オプション)#

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

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

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

戻り値


WaitForWorkerAsync

追加日: v1.9 page.WaitForWorkerAsync

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

使用方法

await Page.WaitForWorkerAsync(action, options);

引数

  • options PageRunAndWaitForWorkerOptions? (オプション)
    • Predicate Func<Worker?, bool> (オプション)#

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

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

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

戻り値


ScreenshotAsync

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

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

使用方法

await Page.ScreenshotAsync(options);

引数

  • options PageScreenshotOptions? (オプション)
    • Animations enum ScreenshotAnimations { Disabled, Allow }? (オプション)#

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

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

      既定は、アニメーションに手を付けない"allow"です。

    • Caret enum ScreenshotCaret { Hide, Initial }? (オプション)#

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

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

      • X [float]

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

      • Y [float]

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

      • Width [float]

        クリッピング領域の幅

      • Height [float]

        クリッピング領域の高さ

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

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

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

    • Mask IEnumerable?<Locator> (オプション)#

      スクリーンショットを撮るときにマスクすべきロケーターを指定します。マスクされた要素は、そのバウンディングボックスを完全に覆うピンク色のボックス#FF00FF ( MaskColorでカスタマイズ可能) でオーバーレイされます。マスクは不可視の要素にも適用されます。それを無効にするには、可視要素のみを一致させるを参照してください。

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

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

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

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

    • Path string? (オプション)#

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

    • Quality int? (オプション)#

      画像の品質、0-100の範囲。png画像には適用されません。

    • Scale enum ScreenshotScale { Css, Device }? (オプション)#

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

      既定は"device"です。

    • Style string? (オプション)追加されたバージョン: v1.41#

      スクリーンショットを作成する際に適用するスタイルシートのテキスト。ここで動的な要素を非表示にしたり、要素を見えなくしたり、繰り返し可能なスクリーンショットを作成するためにプロパティを変更したりできます。このスタイルシートはShadow DOMを貫通し、内部フレームにも適用されます。

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

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

    • Type enum ScreenshotType { Png, Jpeg }? (オプション)#

      スクリーンショットのタイプを指定します。既定はpngです。

戻り値


SetContentAsync

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

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

使用方法

await Page.SetContentAsync(html, options);

引数

  • html string#

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

  • options PageSetContentOptions? (オプション)

    • 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ミリ秒間ネットワーク接続がない場合に操作が完了したとみなされます。このメソッドはテストには使用せず、代わりにウェブのアサーションに頼って準備状況を評価してください。
      • '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サイズもリセットします。これらのプロパティをより細かく制御する必要がある場合は、screenおよびviewportパラメータを指定して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?> (オプション)#

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

戻り値


UnrouteAllAsync

追加されたバージョン: v1.41 page.UnrouteAllAsync

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

使用方法

await Page.UnrouteAllAsync(options);

引数

  • options PageUnrouteAllOptions? (オプション)
    • Behavior enum UnrouteBehavior { Wait, IgnoreErrors, Default }? (オプション)#

      既に実行中のハンドラーを待つかどうか、およびそれらがエラーをスローした場合の動作を指定します。

      • '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が真値 (truthy value) を返したときに解決します。真値の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? (オプション)#

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

  • options PageWaitForFunctionOptions? (オプション)

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

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

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

      待機する最大時間(ミリ秒単位)。既定値は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, Commit }? (オプション)#

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

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

戻り値


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

    • 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ミリ秒間ネットワーク接続がない場合に操作が完了したとみなされます。このメソッドはテストには使用せず、代わりにウェブのアサーションに頼って準備状況を評価してください。
      • 'commit' - ネットワークレスポンスが受信され、ドキュメントのロードが開始されたときに操作が完了したとみなされます。

戻り値


Workers

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

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

注意

これにはServiceWorkerは含まれません。

使用方法

Page.Workers

戻り値


プロパティ

APIRequest

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

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

使用方法

Page.APIRequest

Type


Clock

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

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

使用方法

Page.Clock

Type


Keyboard

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

使用方法

Page.Keyboard

Type


Mouse

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

使用方法

Page.Mouse

Type


Touchscreen

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

使用方法

Page.Touchscreen

Type


イベント

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

Type


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

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

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

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

      非推奨

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

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

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

      • X [float]

      • Y [float]

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

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

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

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

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

    • Trial bool? (オプション)追加されたバージョン: 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? (オプション)

    • Button enum MouseButton { Left, Right, Middle }? (オプション)#

      既定はleftです。

    • ClickCount int? (オプション)#

      既定は1です。UIEvent.detailを参照してください。

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

      mousedownmouseupの間に待機する時間(ミリ秒単位)。既定は0です。

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

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

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

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

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

      非推奨

      このオプションは将来的にtrueが既定値になります。

      ナビゲーションを開始するアクションは、これらのナビゲーションが発生し、ページが読み込まれ始めるのを待機します。このフラグを設定することで、待機をオプトアウトできます。このオプションは、到達不能なページへのナビゲーションなど、例外的な場合にのみ必要です。既定値はfalseです。

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

      • X [float]

      • Y [float]

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

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

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

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

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

    • Trial bool? (オプション)追加されたバージョン: 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? (オプション)

    • Button enum MouseButton { Left, Right, Middle }? (オプション)#

      既定はleftです。

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

      mousedownmouseupの間に待機する時間(ミリ秒単位)。既定は0です。

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

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

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

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

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

      非推奨

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

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

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

      • X [float]

      • Y [float]

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

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

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

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

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

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

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

戻り値


DispatchEventAsync

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

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

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

使用方法

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

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

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

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

  • options PageDispatchEventOptions? (オプション)

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

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

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

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

戻り値


EvalOnSelectorAsync

追加日: v1.9 page.EvalOnSelectorAsync
非推奨

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

このメソッドは、ページ内で指定されたセレクターに一致する要素を見つけ、それを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? (オプション)#

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

  • options PageEvalOnSelectorOptions? (オプション)

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

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

戻り値

  • [object]#

EvalOnSelectorAllAsync

追加日: v1.9 page.EvalOnSelectorAllAsync
非推奨

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

このメソッドは、ページ内で指定されたセレクターに一致するすべての要素を見つけ、一致した要素の配列を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? (オプション)#

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

戻り値

  • [object]#

FillAsync

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

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

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

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

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

使用方法

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

引数

  • selector string#

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

  • value string#

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

  • options PageFillOptions? (オプション)

    • Force bool? (オプション)追加日: v1.13#

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

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

      非推奨

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    • NoWaitAfter bool? (オプション)バージョンv1.28で追加#

      非推奨

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

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

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

      • X [float]

      • Y [float]

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

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

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

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

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

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

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

戻り値


InnerHTMLAsync

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

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

element.innerHTMLを返します。

使用方法

await Page.InnerHTMLAsync(selector, options);

引数

  • selector string#

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

  • options PageInnerHTMLOptions? (オプション)

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

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

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

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

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

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

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

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

戻り値


InputValueAsync

追加日: v1.13 page.InputValueAsync
非推奨

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

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

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

使用方法

await Page.InputValueAsync(selector, options);

引数

  • selector string#

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

  • options PageInputValueOptions? (オプション)

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

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

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

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

戻り値


IsCheckedAsync

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

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

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

使用方法

await Page.IsCheckedAsync(selector, options);

引数

  • selector string#

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

  • options PageIsCheckedOptions? (オプション)

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

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

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

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

戻り値


IsDisabledAsync

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

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

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

使用方法

await Page.IsDisabledAsync(selector, options);

引数

  • selector string#

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

  • options PageIsDisabledOptions? (オプション)

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

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

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

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

戻り値


IsEditableAsync

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

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

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

使用方法

await Page.IsEditableAsync(selector, options);

引数

  • selector string#

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

  • options PageIsEditableOptions? (オプション)

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

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

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

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

戻り値


IsEnabledAsync

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

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

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

使用方法

await Page.IsEnabledAsync(selector, options);

引数

  • selector string#

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

  • options PageIsEnabledOptions? (オプション)

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

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

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

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

戻り値


IsHiddenAsync

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

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

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

使用方法

await Page.IsHiddenAsync(selector, options);

引数

  • selector string#

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

  • options PageIsHiddenOptions? (オプション)

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

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

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

      非推奨

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

戻り値


IsVisibleAsync

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

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

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

使用方法

await Page.IsVisibleAsync(selector, options);

引数

  • selector string#

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

  • options PageIsVisibleOptions? (オプション)

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

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

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

      非推奨

      このオプションは無視されます。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#

    押すキーの名前、または生成する文字(例: ArrowLeft または a)。

  • options PagePressOptions? (オプション)

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

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

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

      非推奨

      このオプションは将来的にtrueが既定値になります。

      ナビゲーションを開始するアクションは、これらのナビゲーションが発生し、ページが読み込まれ始めるのを待機します。このフラグを設定することで、待機をオプトアウトできます。このオプションは、到達不能なページへのナビゲーションなど、例外的な場合にのみ必要です。既定値はfalseです。

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

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

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

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

戻り値


QuerySelectorAsync

追加日: v1.9 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() を使用してください。

メインフレームのナビゲーションを待ち、メインリソースの応答を返します。複数のリダイレクトがある場合、ナビゲーションは最後のリダイレクトの応答で解決されます。異なるアンカーへのナビゲーションや 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ミリ秒間ネットワーク接続がない場合に操作が完了したとみなされます。このメソッドはテストには使用せず、代わりにウェブのアサーションに頼って準備状況を評価してください。
      • 'commit' - ネットワークレスポンスが受信され、ドキュメントのロードが開始されたときに操作が完了したとみなされます。

戻り値


WaitForNavigationAsync

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

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

メインフレームのナビゲーションを待ち、メインリソースの応答を返します。複数のリダイレクトがある場合、ナビゲーションは最後のリダイレクトの応答で解決されます。異なるアンカーへのナビゲーションや 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ミリ秒間ネットワーク接続がない場合に操作が完了したとみなされます。このメソッドはテストには使用せず、代わりにウェブのアサーションに頼って準備状況を評価してください。
      • 'commit' - ネットワークレスポンスが受信され、ドキュメントのロードが開始されたときに操作が完了したとみなされます。

戻り値


SelectOptionAsync

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

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

このメソッドは、セレクターに一致する要素を待ち、actionability チェックを待ち、指定されたすべてのオプションが <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? (オプション)

      インデックスと一致させます。オプション。

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

  • options PageSelectOptionOptions? (オプション)

    • Force bool? (オプション)追加日: 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. 一致する要素に対する actionability チェックを待ちます。ただし、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 要素を指すことを期待します。ただし、要素が関連付けられたコントロールを持つ <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. 一致する要素に対する actionability チェックを待ちます。ただし、Force オプションが設定されている場合は除きます。チェック中に要素がデタッチされた場合、アクション全体が再試行されます。
  3. 必要に応じて要素をビューにスクロールします。
  4. 要素の中央、または指定された Position をタップするには、Page.Touchscreen を使用します。

指定された 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? (オプション)追加されたバージョン: 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. 一致する要素に対する actionability チェックを待ちます。ただし、Force オプションが設定されている場合は除きます。チェック中に要素がデタッチされた場合、アクション全体が再試行されます。
  4. 必要に応じて要素をビューにスクロールします。
  5. Page.Mouseを使用して要素の中央をクリックします。
  6. 要素が現在チェック解除されていることを確認します。そうでない場合、このメソッドはエラーをスローします。

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

使用方法

await Page.UncheckAsync(selector, options);

引数

  • selector string#

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

  • options PageUncheckOptions? (オプション)

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

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

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

      非推奨

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

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

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

      • X [float]

      • Y [float]

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

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

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

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

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

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

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

戻り値


WaitForSelectorAsync

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

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

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

注意

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

セレクター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 アクションと自動的に待機するウェブアサーションを使用してください。

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

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

使用方法

// Wait for 1 second
await page.WaitForTimeoutAsync(1000);

引数

  • timeout [float]#

    待機するタイムアウト

戻り値