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

Browser

BrowserはbrowserType.launch()を介して作成されます。Browserを使用してPageを作成する例

const { firefox } = require('playwright');  // Or 'chromium' or 'webkit'.

(async () => {
const browser = await firefox.launch();
const page = await browser.newPage();
await page.goto('https://example.com');
await browser.close();
})();

メソッド

browserType

追加バージョン: v1.23 browser.browserType

ブラウザが属するブラウザタイプ (chromium, firefox, webkit) を取得します。

使用方法

browser.browserType();

戻り値


close

追加バージョン: v1.9以前 browser.close

このブラウザがbrowserType.launch()を使用して取得された場合、ブラウザとそのすべてのページ(開かれている場合)を閉じます。

このブラウザに接続されている場合、このブラウザに属するすべての作成されたコンテキストをクリアし、ブラウザサーバーから切断します。

注記

これはブラウザを強制終了するのと似ています。ページを正常に閉じ、ページクローズイベントを受け取るには、browser.close()を呼び出すに、以前にbrowser.newContext()を使用して明示的に作成したBrowserContextインスタンスでbrowserContext.close()を呼び出してください。

このBrowserオブジェクト自体は破棄されたとみなされ、これ以上使用することはできません。

使用方法

await browser.close();
await browser.close(options);

引数

  • options Object (オプション)
    • reason string (オプション)追加バージョン: v1.40#

      ブラウザの閉鎖によって中断された操作に報告される理由。

戻り値


contexts

追加バージョン: v1.9以前 browser.contexts

開いているすべてのブラウザコンテキストの配列を返します。新しく作成されたブラウザでは、ゼロ個のブラウザコンテキストが返されます。

使用方法

const browser = await pw.webkit.launch();
console.log(browser.contexts().length); // prints `0`

const context = await browser.newContext();
console.log(browser.contexts().length); // prints `1`

戻り値


isConnected

追加バージョン: v1.9以前 browser.isConnected

ブラウザが接続されているかどうかを示します。

使用方法

browser.isConnected();

戻り値


newBrowserCDPSession

追加バージョン: v1.11 browser.newBrowserCDPSession
注記

CDPセッションはChromiumベースのブラウザでのみサポートされています。

新しく作成されたブラウザセッションを返します。

使用方法

await browser.newBrowserCDPSession();

戻り値


newContext

追加バージョン: v1.9以前 browser.newContext

新しいブラウザコンテキストを作成します。他のブラウザコンテキストとクッキー/キャッシュを共有することはありません。

注記

このメソッドを直接使用してBrowserContextを作成する場合、コードがBrowserContextの処理を終え、browser.close()を呼び出すに、返されたコンテキストをbrowserContext.close()で明示的に閉じるのがベストプラクティスです。これにより、contextが正常に閉じられ、HARファイルや動画などのアーティファクトが完全にフラッシュされて保存されることが保証されます。

使用方法

(async () => {
const browser = await playwright.firefox.launch(); // Or 'chromium' or 'webkit'.
// Create a new incognito browser context.
const context = await browser.newContext();
// Create a new page in a pristine context.
const page = await context.newPage();
await page.goto('https://example.com');

// Gracefully close up everything
await context.close();
await browser.close();
})();

引数

  • options Object (オプション)
    • acceptDownloads boolean (オプション)#

      すべての添付ファイルを自動的にダウンロードするかどうか。デフォルトはtrueで、すべてのダウンロードが許可されます。

    • baseURL string (オプション)#

      page.goto()page.route()page.waitForURL()page.waitForRequest()、またはpage.waitForResponse()を使用する場合、対応するURLを構築するためにURL()コンストラクタを使用してベースURLを考慮します。デフォルトは未設定です。例

      • baseURL: https://:3000/bar.htmlにナビゲートすると、結果はhttps://:3000/bar.htmlになります。
      • baseURL: https://:3000/foo/./bar.htmlにナビゲートすると、結果はhttps://:3000/foo/bar.htmlになります。
      • baseURL: https://:3000/foo (末尾のスラッシュなし) で./bar.htmlにナビゲートすると、結果はhttps://:3000/bar.htmlになります。
    • bypassCSP boolean (オプション)#

      ページのContent-Security-Policyをバイパスするかどうかを切り替えます。デフォルトはfalseです。

    • clientCertificates Array<Object> (オプション)追加バージョン: 1.46#

      • origin string

        証明書が有効な正確なオリジン。オリジンにはhttpsプロトコル、ホスト名、およびオプションでポートが含まれます。

      • certPath string (オプション)

        PEM形式の証明書ファイルへのパス。

      • cert Buffer (オプション)

        PEM形式の証明書の直接の値。

      • keyPath string (オプション)

        PEM形式の秘密鍵ファイルへのパス。

      • key Buffer (オプション)

        PEM形式の秘密鍵の直接の値。

      • pfxPath string (オプション)

        PFXまたはPKCS12でエンコードされた秘密鍵と証明書チェーンへのパス。

      • pfx Buffer (オプション)

        PFXまたはPKCS12でエンコードされた秘密鍵と証明書チェーンの直接の値。

      • passphrase string (オプション)

        秘密鍵 (PEMまたはPFX) のパスフレーズ。

      TLSクライアント認証により、サーバーはクライアント証明書を要求し、それを検証できます。

      詳細

      使用するクライアント証明書の配列。各証明書オブジェクトには、certPathkeyPathの両方、単一のpfxPath、またはそれに対応する直接値(certkey、またはpfx)のいずれかが必要です。オプションで、証明書が暗号化されている場合はpassphraseプロパティを指定する必要があります。originプロパティは、証明書が有効な要求元の正確な一致とともに提供される必要があります。

      注記

      macOSでWebKitを使用する場合、localhostにアクセスしてもクライアント証明書が取得されません。localhostlocal.playwrightに置き換えることで機能させることができます。

    • colorScheme null | "light" | "dark" | "no-preference" (オプション)#

      prefers-colors-schemeメディア機能をエミュレートします。サポートされる値は'light''dark'です。詳細はpage.emulateMedia()を参照してください。nullを渡すと、エミュレーションがシステムデフォルトにリセットされます。デフォルトは'light'です。

    • contrast null | "no-preference" | "more" (オプション)#

      'prefers-contrast'メディア機能をエミュレートします。サポートされる値は'no-preference''more'です。詳細はpage.emulateMedia()を参照してください。nullを渡すと、エミュレーションがシステムデフォルトにリセットされます。デフォルトは'no-preference'です。

    • deviceScaleFactor number (オプション)#

      デバイススケールファクター (dpr と考えられます) を指定します。デフォルトは1です。デバイススケールファクターによるデバイスエミュレーションの詳細についてはこちらを参照してください。

    • extraHTTPHeaders Object<string, string> (オプション)#

      すべてのリクエストとともに送信される追加のHTTPヘッダーを含むオブジェクト。デフォルトはなし。

    • forcedColors null | "active" | "none" (オプション)#

      'forced-colors'メディア機能をエミュレートします。サポートされる値は'active''none'です。詳細はpage.emulateMedia()を参照してください。nullを渡すと、エミュレーションがシステムデフォルトにリセットされます。デフォルトは'none'です。

    • geolocation Object (オプション)#

      • latitude number

        -90から90までの緯度。

      • longitude number

        -180から180までの経度。

      • accuracy number (オプション)

        非負の精度値。デフォルトは0です。

    • hasTouch boolean (オプション)#

      ビューポートがタッチイベントをサポートするかどうかを指定します。デフォルトはfalseです。モバイルエミュレーションについて詳しくはこちら。

    • httpCredentials Object (オプション)#

      • username string

      • password string

      • origin string (オプション)

        特定のオリジン (scheme://host:port).

      • send "unauthorized" | "always" (オプション)

        このオプションは、対応するAPIRequestContextから送信されるリクエストにのみ適用され、ブラウザから送信されるリクエストには影響しません。'always' - 基本認証資格情報を含むAuthorizationヘッダーがすべてのAPIリクエストとともに送信されます。'unauthorized - 資格情報は、WWW-Authenticateヘッダーを持つ401 (Unauthorized) 応答が受信された場合にのみ送信されます。デフォルトは'unauthorized'です。

      HTTP認証の資格情報。オリジンが指定されていない場合、ユーザー名とパスワードは不正な応答があった場合に任意のサーバーに送信されます。

    • ignoreHTTPSErrors boolean (オプション)#

      ネットワークリクエストを送信する際にHTTPSエラーを無視するかどうか。デフォルトはfalseです。

    • isMobile boolean (オプション)#

      meta viewportタグが考慮され、タッチイベントが有効になるかどうか。isMobileはデバイスの一部であるため、手動で設定する必要はありません。デフォルトはfalseであり、Firefoxではサポートされていません。モバイルエミュレーションについて詳しくはこちら。

    • javaScriptEnabled boolean (オプション)#

      コンテキストでJavaScriptを有効にするかどうか。デフォルトはtrueです。JavaScriptの無効化について詳しくはこちら。

    • locale string (オプション)#

      ユーザーロケールを指定します(例:en-GBde-DEなど)。ロケールは、navigator.languageの値、Accept-Languageリクエストヘッダーの値、および数値と日付の書式設定ルールに影響を与えます。デフォルトはシステムデフォルトのロケールです。エミュレーションガイドでエミュレーションについて詳しく学んでください。

    • logger Logger (オプション)#

      Playwrightロギングのロガーシンク。

    • offline boolean (オプション)#

      ネットワークがオフラインであることをエミュレートするかどうか。デフォルトはfalseです。ネットワークエミュレーションについて詳しくはこちら。

    • permissions Array<string> (オプション)#

      このコンテキスト内のすべてのページに付与する権限のリスト。詳細についてはbrowserContext.grantPermissions()を参照してください。デフォルトはなし。

    • proxy Object (オプション)#

      • server string

        すべてのリクエストに使用するプロキシ。HTTPおよびSOCKSプロキシがサポートされています(例: http://myproxy.com:3128またはsocks5://myproxy.com:3128)。短い形式のmyproxy.com:3128はHTTPプロキシとみなされます。

      • bypass string (オプション)

        プロキシをバイパスする、カンマ区切りのオプションのドメイン。例: ".com, chromium.org, .domain.com"

      • username string (オプション)

        HTTPプロキシが認証を必要とする場合に使用するオプションのユーザー名。

      • password string (オプション)

        HTTPプロキシが認証を必要とする場合に使用するオプションのパスワード。

      このコンテキストで使用するネットワークプロキシ設定。デフォルトはなし。

    • recordHar Object (オプション)#

      • omitContent boolean (オプション)

        HARからリクエストコンテンツを省略するかどうかを制御するオプション設定。デフォルトはfalseです。非推奨です。代わりにcontentポリシーを使用してください。

      • content "omit" | "embed" | "attach" (オプション)

        リソースコンテンツ管理を制御するオプション設定。omitが指定されている場合、コンテンツは保持されません。attachが指定されている場合、リソースは個別のファイルまたはZIPアーカイブのエントリとして保持されます。embedが指定されている場合、コンテンツはHAR仕様に従ってHARファイル内にインラインで保存されます。デフォルトは.zip出力ファイルの場合はattach、その他のすべてのファイル拡張子の場合はembedです。

      • path string

        HARファイルを書き込むファイルシステム上のパス。ファイル名が.zipで終わる場合、デフォルトでcontent: 'attach'が使用されます。

      • mode "full" | "minimal" (オプション)

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

      • urlFilter string | RegExp (オプション)

        HARに保存されるリクエストをフィルタリングするためのグロブまたは正規表現パターン。コンテキストオプション経由でbaseURLが提供され、渡されたURLがパスである場合、new URL()コンストラクタ経由でマージされます。デフォルトはなし。

      すべてのページでHARの記録をrecordHar.pathファイルに有効にします。指定されていない場合、HARは記録されません。HARを保存するにはbrowserContext.close()をawaitしてください。

    • recordVideo Object (オプション)#

      • dir string

        動画を保存するディレクトリへのパス。

      • size Object (オプション)

        • width number

          ビデオフレームの幅。

        • height number

          ビデオフレームの高さ。

        記録されるビデオのオプションの寸法。指定しない場合、サイズは800x800に収まるようにスケールダウンされたviewportと等しくなります。viewportが明示的に設定されていない場合、ビデオサイズはデフォルトで800x450になります。各ページの実際の画像は、指定されたサイズに収まるように必要に応じてスケールダウンされます。

      すべてのページでビデオ録画をrecordVideo.dirディレクトリに有効にします。指定されていない場合、ビデオは録画されません。ビデオが保存されるにはbrowserContext.close()をawaitしてください。

    • reducedMotion null | "reduce" | "no-preference" (オプション)#

      'prefers-reduced-motion'メディア機能をエミュレートします。サポートされる値は'reduce''no-preference'です。詳細はpage.emulateMedia()を参照してください。nullを渡すと、エミュレーションがシステムデフォルトにリセットされます。デフォルトは'no-preference'です。

    • screen Object (オプション)#

      • width number

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

      • height number

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

      window.screenを介してウェブページ内で利用可能な一貫したウィンドウ画面サイズをエミュレートします。viewportが設定されている場合にのみ使用されます。

    • serviceWorkers "allow" | "block" (オプション)#

      サイトがサービスワーカーを登録することを許可するかどうか。デフォルトは'allow'です。

      • 'allow': サービスワーカーを登録できます。
      • 'block': Playwrightはすべてのサービスワーカーの登録をブロックします。
    • storageState string | Object (オプション)#

      • cookies Array<Object>
        • name string

        • value string

        • domain string

          ドメインとパスは必須です。クッキーがすべてのサブドメインにも適用されるようにするには、ドメインの前にドットを付けます。例: ".example.com"

        • path string

          ドメインとパスは必須

        • expires number

          Unix時間(秒単位)。

        • httpOnly boolean

        • secure boolean

        • sameSite "Strict" | "Lax" | "None"

          sameSiteフラグ

        コンテキストに設定するクッキー
      • origins Array<Object>

      ストレージ状態と認証について詳しくはこちら。

      指定されたストレージ状態をコンテキストに格納します。このオプションは、browserContext.storageState()を介して取得したログイン情報でコンテキストを初期化するために使用できます。

    • strictSelectors boolean (オプション)#

      trueに設定すると、このコンテキストで厳格セレクタモードが有効になります。厳格セレクタモードでは、単一のターゲットDOM要素を意味するセレクタに対するすべての操作は、複数の要素がセレクタに一致する場合にスローされます。このオプションは、Locator API(Locatorは常に厳格です)には影響しません。デフォルトはfalseです。厳格モードについて詳しくはLocatorを参照してください。

    • timezoneId string (オプション)#

      コンテキストのタイムゾーンを変更します。サポートされているタイムゾーンIDのリストについては、ICUのmetaZones.txtを参照してください。デフォルトはシステムのタイムゾーンです。

    • userAgent string (オプション)#

      このコンテキストで使用する特定のユーザーエージェント。

    • videoSize Object (オプション)#

      非推奨

      代わりにrecordVideoを使用してください。

      • width number

        ビデオフレームの幅。

      • height number

        ビデオフレームの高さ。

    • videosPath string (オプション)#

      非推奨

      代わりにrecordVideoを使用してください。

    • viewport null | Object (オプション)#

      • width number

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

      • height number

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

      各ページに一貫したビューポートをエミュレートします。デフォルトは1280x720のビューポートです。一貫したビューポートエミュレーションを無効にするにはnullを使用します。ビューポートエミュレーションについて詳しくはこちら。

      注記

      null値はデフォルトのプリセットからオプトアウトし、ビューポートをオペレーティングシステムによって定義されたホストウィンドウサイズに依存させます。これにより、テストの実行が非決定的になります。

戻り値


newPage

追加バージョン: v1.9以前 browser.newPage

新しいブラウザコンテキストに新しいページを作成します。このページを閉じると、コンテキストも閉じられます。

これは便利なAPIであり、単一ページシナリオや短いスニペットにのみ使用すべきです。本番コードやテストフレームワークは、厳密なライフタイムを制御するために、明示的にbrowser.newContext()を呼び出し、その後にbrowserContext.newPage()を呼び出す必要があります。

使用方法

await browser.newPage();
await browser.newPage(options);

引数

  • options Object (オプション)
    • acceptDownloads boolean (オプション)#

      すべての添付ファイルを自動的にダウンロードするかどうか。デフォルトはtrueで、すべてのダウンロードが許可されます。

    • baseURL string (オプション)#

      page.goto()page.route()page.waitForURL()page.waitForRequest()、またはpage.waitForResponse()を使用する場合、対応するURLを構築するためにURL()コンストラクタを使用してベースURLを考慮します。デフォルトは未設定です。例

      • baseURL: https://:3000/bar.htmlにナビゲートすると、結果はhttps://:3000/bar.htmlになります。
      • baseURL: https://:3000/foo/./bar.htmlにナビゲートすると、結果はhttps://:3000/foo/bar.htmlになります。
      • baseURL: https://:3000/foo (末尾のスラッシュなし) で./bar.htmlにナビゲートすると、結果はhttps://:3000/bar.htmlになります。
    • bypassCSP boolean (オプション)#

      ページのContent-Security-Policyをバイパスするかどうかを切り替えます。デフォルトはfalseです。

    • clientCertificates Array<Object> (オプション)追加バージョン: 1.46#

      • origin string

        証明書が有効な正確なオリジン。オリジンにはhttpsプロトコル、ホスト名、およびオプションでポートが含まれます。

      • certPath string (オプション)

        PEM形式の証明書ファイルへのパス。

      • cert Buffer (オプション)

        PEM形式の証明書の直接の値。

      • keyPath string (オプション)

        PEM形式の秘密鍵ファイルへのパス。

      • key Buffer (オプション)

        PEM形式の秘密鍵の直接の値。

      • pfxPath string (オプション)

        PFXまたはPKCS12でエンコードされた秘密鍵と証明書チェーンへのパス。

      • pfx Buffer (オプション)

        PFXまたはPKCS12でエンコードされた秘密鍵と証明書チェーンの直接の値。

      • passphrase string (オプション)

        秘密鍵 (PEMまたはPFX) のパスフレーズ。

      TLSクライアント認証により、サーバーはクライアント証明書を要求し、それを検証できます。

      詳細

      使用するクライアント証明書の配列。各証明書オブジェクトには、certPathkeyPathの両方、単一のpfxPath、またはそれに対応する直接値(certkey、またはpfx)のいずれかが必要です。オプションで、証明書が暗号化されている場合はpassphraseプロパティを指定する必要があります。originプロパティは、証明書が有効な要求元の正確な一致とともに提供される必要があります。

      注記

      macOSでWebKitを使用する場合、localhostにアクセスしてもクライアント証明書が取得されません。localhostlocal.playwrightに置き換えることで機能させることができます。

    • colorScheme null | "light" | "dark" | "no-preference" (オプション)#

      prefers-colors-schemeメディア機能をエミュレートします。サポートされる値は'light''dark'です。詳細はpage.emulateMedia()を参照してください。nullを渡すと、エミュレーションがシステムデフォルトにリセットされます。デフォルトは'light'です。

    • contrast null | "no-preference" | "more" (オプション)#

      'prefers-contrast'メディア機能をエミュレートします。サポートされる値は'no-preference''more'です。詳細はpage.emulateMedia()を参照してください。nullを渡すと、エミュレーションがシステムデフォルトにリセットされます。デフォルトは'no-preference'です。

    • deviceScaleFactor number (オプション)#

      デバイススケールファクター (dpr と考えられます) を指定します。デフォルトは1です。デバイススケールファクターによるデバイスエミュレーションの詳細についてはこちらを参照してください。

    • extraHTTPHeaders Object<string, string> (オプション)#

      すべてのリクエストとともに送信される追加のHTTPヘッダーを含むオブジェクト。デフォルトはなし。

    • forcedColors null | "active" | "none" (オプション)#

      'forced-colors'メディア機能をエミュレートします。サポートされる値は'active''none'です。詳細はpage.emulateMedia()を参照してください。nullを渡すと、エミュレーションがシステムデフォルトにリセットされます。デフォルトは'none'です。

    • geolocation Object (オプション)#

      • latitude number

        -90から90までの緯度。

      • longitude number

        -180から180までの経度。

      • accuracy number (オプション)

        非負の精度値。デフォルトは0です。

    • hasTouch boolean (オプション)#

      ビューポートがタッチイベントをサポートするかどうかを指定します。デフォルトはfalseです。モバイルエミュレーションについて詳しくはこちら。

    • httpCredentials Object (オプション)#

      • username string

      • password string

      • origin string (オプション)

        特定のオリジン (scheme://host:port).

      • send "unauthorized" | "always" (オプション)

        このオプションは、対応するAPIRequestContextから送信されるリクエストにのみ適用され、ブラウザから送信されるリクエストには影響しません。'always' - 基本認証資格情報を含むAuthorizationヘッダーがすべてのAPIリクエストとともに送信されます。'unauthorized - 資格情報は、WWW-Authenticateヘッダーを持つ401 (Unauthorized) 応答が受信された場合にのみ送信されます。デフォルトは'unauthorized'です。

      HTTP認証の資格情報。オリジンが指定されていない場合、ユーザー名とパスワードは不正な応答があった場合に任意のサーバーに送信されます。

    • ignoreHTTPSErrors boolean (オプション)#

      ネットワークリクエストを送信する際にHTTPSエラーを無視するかどうか。デフォルトはfalseです。

    • isMobile boolean (オプション)#

      meta viewportタグが考慮され、タッチイベントが有効になるかどうか。isMobileはデバイスの一部であるため、手動で設定する必要はありません。デフォルトはfalseであり、Firefoxではサポートされていません。モバイルエミュレーションについて詳しくはこちら。

    • javaScriptEnabled boolean (オプション)#

      コンテキストでJavaScriptを有効にするかどうか。デフォルトはtrueです。JavaScriptの無効化について詳しくはこちら。

    • locale string (オプション)#

      ユーザーロケールを指定します(例:en-GBde-DEなど)。ロケールは、navigator.languageの値、Accept-Languageリクエストヘッダーの値、および数値と日付の書式設定ルールに影響を与えます。デフォルトはシステムデフォルトのロケールです。エミュレーションガイドでエミュレーションについて詳しく学んでください。

    • logger Logger (オプション)#

      Playwrightロギングのロガーシンク。

    • offline boolean (オプション)#

      ネットワークがオフラインであることをエミュレートするかどうか。デフォルトはfalseです。ネットワークエミュレーションについて詳しくはこちら。

    • permissions Array<string> (オプション)#

      このコンテキスト内のすべてのページに付与する権限のリスト。詳細についてはbrowserContext.grantPermissions()を参照してください。デフォルトはなし。

    • proxy Object (オプション)#

      • server string

        すべてのリクエストに使用するプロキシ。HTTPおよびSOCKSプロキシがサポートされています(例: http://myproxy.com:3128またはsocks5://myproxy.com:3128)。短い形式のmyproxy.com:3128はHTTPプロキシとみなされます。

      • bypass string (オプション)

        プロキシをバイパスする、カンマ区切りのオプションのドメイン。例: ".com, chromium.org, .domain.com"

      • username string (オプション)

        HTTPプロキシが認証を必要とする場合に使用するオプションのユーザー名。

      • password string (オプション)

        HTTPプロキシが認証を必要とする場合に使用するオプションのパスワード。

      このコンテキストで使用するネットワークプロキシ設定。デフォルトはなし。

    • recordHar Object (オプション)#

      • omitContent boolean (オプション)

        HARからリクエストコンテンツを省略するかどうかを制御するオプション設定。デフォルトはfalseです。非推奨です。代わりにcontentポリシーを使用してください。

      • content "omit" | "embed" | "attach" (オプション)

        リソースコンテンツ管理を制御するオプション設定。omitが指定されている場合、コンテンツは保持されません。attachが指定されている場合、リソースは個別のファイルまたはZIPアーカイブのエントリとして保持されます。embedが指定されている場合、コンテンツはHAR仕様に従ってHARファイル内にインラインで保存されます。デフォルトは.zip出力ファイルの場合はattach、その他のすべてのファイル拡張子の場合はembedです。

      • path string

        HARファイルを書き込むファイルシステム上のパス。ファイル名が.zipで終わる場合、デフォルトでcontent: 'attach'が使用されます。

      • mode "full" | "minimal" (オプション)

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

      • urlFilter string | RegExp (オプション)

        HARに保存されるリクエストをフィルタリングするためのグロブまたは正規表現パターン。コンテキストオプション経由でbaseURLが提供され、渡されたURLがパスである場合、new URL()コンストラクタ経由でマージされます。デフォルトはなし。

      すべてのページでHARの記録をrecordHar.pathファイルに有効にします。指定されていない場合、HARは記録されません。HARを保存するにはbrowserContext.close()をawaitしてください。

    • recordVideo Object (オプション)#

      • dir string

        動画を保存するディレクトリへのパス。

      • size Object (オプション)

        • width number

          ビデオフレームの幅。

        • height number

          ビデオフレームの高さ。

        記録されるビデオのオプションの寸法。指定しない場合、サイズは800x800に収まるようにスケールダウンされたviewportと等しくなります。viewportが明示的に設定されていない場合、ビデオサイズはデフォルトで800x450になります。各ページの実際の画像は、指定されたサイズに収まるように必要に応じてスケールダウンされます。

      すべてのページでビデオ録画をrecordVideo.dirディレクトリに有効にします。指定されていない場合、ビデオは録画されません。ビデオが保存されるにはbrowserContext.close()をawaitしてください。

    • reducedMotion null | "reduce" | "no-preference" (オプション)#

      'prefers-reduced-motion'メディア機能をエミュレートします。サポートされる値は'reduce''no-preference'です。詳細はpage.emulateMedia()を参照してください。nullを渡すと、エミュレーションがシステムデフォルトにリセットされます。デフォルトは'no-preference'です。

    • screen Object (オプション)#

      • width number

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

      • height number

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

      window.screenを介してウェブページ内で利用可能な一貫したウィンドウ画面サイズをエミュレートします。viewportが設定されている場合にのみ使用されます。

    • serviceWorkers "allow" | "block" (オプション)#

      サイトがサービスワーカーを登録することを許可するかどうか。デフォルトは'allow'です。

      • 'allow': サービスワーカーを登録できます。
      • 'block': Playwrightはすべてのサービスワーカーの登録をブロックします。
    • storageState string | Object (オプション)#

      • cookies Array<Object>
        • name string

        • value string

        • domain string

          ドメインとパスは必須です。クッキーがすべてのサブドメインにも適用されるようにするには、ドメインの前にドットを付けます。例: ".example.com"

        • path string

          ドメインとパスは必須

        • expires number

          Unix時間(秒単位)。

        • httpOnly boolean

        • secure boolean

        • sameSite "Strict" | "Lax" | "None"

          sameSiteフラグ

        コンテキストに設定するクッキー
      • origins Array<Object>

      ストレージ状態と認証について詳しくはこちら。

      指定されたストレージ状態をコンテキストに格納します。このオプションは、browserContext.storageState()を介して取得したログイン情報でコンテキストを初期化するために使用できます。

    • strictSelectors boolean (オプション)#

      trueに設定すると、このコンテキストで厳格セレクタモードが有効になります。厳格セレクタモードでは、単一のターゲットDOM要素を意味するセレクタに対するすべての操作は、複数の要素がセレクタに一致する場合にスローされます。このオプションは、Locator API(Locatorは常に厳格です)には影響しません。デフォルトはfalseです。厳格モードについて詳しくはLocatorを参照してください。

    • timezoneId string (オプション)#

      コンテキストのタイムゾーンを変更します。サポートされているタイムゾーンIDのリストについては、ICUのmetaZones.txtを参照してください。デフォルトはシステムのタイムゾーンです。

    • userAgent string (オプション)#

      このコンテキストで使用する特定のユーザーエージェント。

    • videoSize Object (オプション)#

      非推奨

      代わりにrecordVideoを使用してください。

      • width number

        ビデオフレームの幅。

      • height number

        ビデオフレームの高さ。

    • videosPath string (オプション)#

      非推奨

      代わりにrecordVideoを使用してください。

    • viewport null | Object (オプション)#

      • width number

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

      • height number

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

      各ページに一貫したビューポートをエミュレートします。デフォルトは1280x720のビューポートです。一貫したビューポートエミュレーションを無効にするにはnullを使用します。ビューポートエミュレーションについて詳しくはこちら。

      注記

      null値はデフォルトのプリセットからオプトアウトし、ビューポートをオペレーティングシステムによって定義されたホストウィンドウサイズに依存させます。これにより、テストの実行が非決定的になります。

戻り値


removeAllListeners

追加バージョン: v1.47 browser.removeAllListeners

指定されたタイプのリッスン(または登録されているすべてのリッスン)をすべて削除します。非同期リッスンが完了するのを待つか、これらのリッスンからの後続のエラーを無視することができます。

使用方法

await browser.removeAllListeners();
await browser.removeAllListeners(type, options);

引数

  • type string (オプション)#
  • options Object (オプション)
    • behavior "wait" | "ignoreErrors" | "default" (オプション)#

      すでに実行中のリスナーを待つか、エラーをスローした場合にどうするかを指定します。

      • 'default' - 現在のリスナー呼び出し(ある場合)が完了するのを待たない。リスナーがスローした場合、未処理のエラーになる可能性がある
      • 'wait' - 現在のリスナー呼び出し(ある場合)が完了するのを待つ
      • 'ignoreErrors' - 現在のリスナー呼び出し(ある場合)が完了するのを待たない。削除後にリスナーがスローしたすべてのエラーは黙ってキャッチされる

戻り値


startTracing

追加バージョン: v1.11 browser.startTracing
注記

このAPIは、低レベルのChromium固有のデバッグツールであるChromium Tracingを制御します。Playwright Tracingを制御するAPIはこちらにあります。

browser.startTracing()browser.stopTracing()を使用して、Chrome DevToolsのパフォーマンスパネルで開くことができるトレースファイルを作成できます。

使用方法

await browser.startTracing(page, { path: 'trace.json' });
await page.goto('https://www.google.com');
await browser.stopTracing();

引数

  • page Page (オプション)#

    オプション。指定されている場合、トレースには指定されたページのスクリーンショットが含まれます。

  • options Object (オプション)

    • categories Array<string> (オプション)#

      デフォルトの代わりにカスタムカテゴリを指定します。

    • path string (オプション)#

      トレースファイルを書き込むパス。

    • screenshots boolean (オプション)#

      トレース中にスクリーンショットをキャプチャします。

戻り値


stopTracing

追加バージョン: v1.11 browser.stopTracing
注記

このAPIは、低レベルのChromium固有のデバッグツールであるChromium Tracingを制御します。Playwright Tracingを制御するAPIはこちらにあります。

トレースデータを含むバッファを返します。

使用方法

await browser.stopTracing();

戻り値


version

追加バージョン: v1.9以前 browser.version

ブラウザのバージョンを返します。

使用方法

browser.version();

戻り値


イベント

on('disconnected')

追加バージョン: v1.9以前 browser.on('disconnected')

ブラウザアプリケーションからブラウザの接続が切断されたときに発生します。これは以下のいずれかの理由で発生する可能性があります。

  • ブラウザアプリケーションが閉じられた、またはクラッシュした。
  • browser.close()メソッドが呼び出された。

使用方法

browser.on('disconnected', data => {});

イベントデータ