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

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()を呼び出す**前に**、明示的に作成したBrowserContextインスタンスでbrowserContext.close()を呼び出してください。

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

使用法

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

引数

  • options Object (optional)
    • reason string (optional)追加されたバージョン: 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 (optional)
    • acceptDownloads boolean (optional)#

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

    • baseURL string (optional)#

      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 (optional)#

      ページのコンテンツセキュリティポリシーをバイパスするかどうかを切り替えます。デフォルトはfalseです。

    • clientCertificates Array<Object> (optional)追加されたバージョン: 1.46#

      • origin string

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

      • certPath string (optional)

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

      • cert Buffer (optional)

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

      • keyPath string (optional)

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

      • key Buffer (optional)

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

      • pfxPath string (optional)

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

      • pfx Buffer (optional)

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

      • passphrase string (optional)

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

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

      詳細

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

      クライアント証明書認証は、少なくとも1つのクライアント証明書が提供された場合にのみ有効になります。サーバーから送信されたすべてのクライアント証明書を拒否したい場合は、訪問する予定のドメインのいずれとも一致しないoriginを持つクライアント証明書を提供する必要があります。

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

    • colorScheme null | "light" | "dark" | "no-preference" (optional)#

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

    • contrast null | "no-preference" | "more" (optional)#

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

    • deviceScaleFactor number (optional)#

      デバイスのスケールファクタ(dprと考えることができます)を指定します。デフォルトは1です。デバイススケールファクタによるデバイスエミュレーションについて詳しく学びましょう。

    • extraHTTPHeaders Object<string, string> (optional)#

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

    • forcedColors null | "active" | "none" (optional)#

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

    • geolocation Object (optional)#

      • latitude number

        -90から90の間の緯度。

      • longitude number

        -180から180の間の経度。

      • accuracy number (optional)

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

    • hasTouch boolean (optional)#

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

    • httpCredentials Object (optional)#

      • username string

      • password string

      • origin string (optional)

        特定のオリジン(scheme://host:port)でのhttp資格情報の送信を制限します:ポート).

      • send "unauthorized" | "always" (optional)

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

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

    • ignoreHTTPSErrors boolean (optional)#

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

    • isMobile boolean (optional)#

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

    • javaScriptEnabled boolean (optional)#

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

    • locale string (optional)#

      ユーザーロケールを指定します。例: en-GB, de-DEなど。ロケールはnavigator.languageの値、Accept-Languageリクエストヘッダーの値、および数値と日付のフォーマット規則に影響します。デフォルトはシステムのデフォルトロケールです。エミュレーションガイドでエミュレーションの詳細について学びましょう。

    • logger Logger (optional)#

      非推奨

      ロガーによって受信されるログは不完全です。代わりにトレースを使用してください。

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

    • offline boolean (optional)#

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

    • permissions Array<string> (optional)#

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

    • proxy Object (optional)#

      • server string

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

      • bypass string (optional)

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

      • username string (optional)

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

      • password string (optional)

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

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

    • recordHar Object (optional)#

      • omitContent boolean (optional)

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

      • content "omit" | "embed" | "attach" (optional)

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

      • path string

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

      • mode "full" | "minimal" (optional)

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

      • urlFilter string | RegExp (optional)

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

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

    • recordVideo Object (optional)#

      • dir string

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

      • size Object (optional)

        • width number

          ビデオフレームの幅。

        • height number

          ビデオフレームの高さ。

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

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

    • reducedMotion null | "reduce" | "no-preference" (optional)#

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

    • screen Object (optional)#

      • width number

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

      • height number

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

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

    • serviceWorkers "allow" | "block" (optional)#

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

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

      • 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 (optional)#

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

    • timezoneId string (optional)#

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

    • userAgent string (optional)#

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

    • videoSize Object (optional)#

      非推奨

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

      • width number

        ビデオフレームの幅。

      • height number

        ビデオフレームの高さ。

    • videosPath string (optional)#

      非推奨

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

    • viewport null | Object (optional)#

      • 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 (optional)
    • acceptDownloads boolean (optional)#

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

    • baseURL string (optional)#

      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 (optional)#

      ページのコンテンツセキュリティポリシーをバイパスするかどうかを切り替えます。デフォルトはfalseです。

    • clientCertificates Array<Object> (optional)追加されたバージョン: 1.46#

      • origin string

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

      • certPath string (optional)

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

      • cert Buffer (optional)

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

      • keyPath string (optional)

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

      • key Buffer (optional)

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

      • pfxPath string (optional)

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

      • pfx Buffer (optional)

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

      • passphrase string (optional)

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

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

      詳細

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

      クライアント証明書認証は、少なくとも1つのクライアント証明書が提供された場合にのみ有効になります。サーバーから送信されたすべてのクライアント証明書を拒否したい場合は、訪問する予定のドメインのいずれとも一致しないoriginを持つクライアント証明書を提供する必要があります。

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

    • colorScheme null | "light" | "dark" | "no-preference" (optional)#

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

    • contrast null | "no-preference" | "more" (optional)#

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

    • deviceScaleFactor number (optional)#

      デバイスのスケールファクタ(dprと考えることができます)を指定します。デフォルトは1です。デバイススケールファクタによるデバイスエミュレーションについて詳しく学びましょう。

    • extraHTTPHeaders Object<string, string> (optional)#

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

    • forcedColors null | "active" | "none" (optional)#

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

    • geolocation Object (optional)#

      • latitude number

        -90から90の間の緯度。

      • longitude number

        -180から180の間の経度。

      • accuracy number (optional)

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

    • hasTouch boolean (optional)#

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

    • httpCredentials Object (optional)#

      • username string

      • password string

      • origin string (optional)

        特定のオリジン(scheme://host:port)でのhttp資格情報の送信を制限します:ポート).

      • send "unauthorized" | "always" (optional)

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

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

    • ignoreHTTPSErrors boolean (optional)#

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

    • isMobile boolean (optional)#

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

    • javaScriptEnabled boolean (optional)#

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

    • locale string (optional)#

      ユーザーロケールを指定します。例: en-GB, de-DEなど。ロケールはnavigator.languageの値、Accept-Languageリクエストヘッダーの値、および数値と日付のフォーマット規則に影響します。デフォルトはシステムのデフォルトロケールです。エミュレーションガイドでエミュレーションの詳細について学びましょう。

    • logger Logger (optional)#

      非推奨

      ロガーによって受信されるログは不完全です。代わりにトレースを使用してください。

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

    • offline boolean (optional)#

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

    • permissions Array<string> (optional)#

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

    • proxy Object (optional)#

      • server string

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

      • bypass string (optional)

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

      • username string (optional)

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

      • password string (optional)

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

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

    • recordHar Object (optional)#

      • omitContent boolean (optional)

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

      • content "omit" | "embed" | "attach" (optional)

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

      • path string

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

      • mode "full" | "minimal" (optional)

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

      • urlFilter string | RegExp (optional)

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

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

    • recordVideo Object (optional)#

      • dir string

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

      • size Object (optional)

        • width number

          ビデオフレームの幅。

        • height number

          ビデオフレームの高さ。

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

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

    • reducedMotion null | "reduce" | "no-preference" (optional)#

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

    • screen Object (optional)#

      • width number

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

      • height number

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

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

    • serviceWorkers "allow" | "block" (optional)#

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

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

      • 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 (optional)#

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

    • timezoneId string (optional)#

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

    • userAgent string (optional)#

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

    • videoSize Object (optional)#

      非推奨

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

      • width number

        ビデオフレームの幅。

      • height number

        ビデオフレームの高さ。

    • videosPath string (optional)#

      非推奨

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

    • viewport null | Object (optional)#

      • width number

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

      • height number

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

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

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

戻り値


removeAllListeners

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

指定されたタイプ(またはタイプが指定されていない場合は登録されているすべてのリスナー)のすべてのリスナーを削除します。非同期リスナーが完了するのを待ったり、これらのリスナーからのその後のエラーを無視したりできます。

使用法

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

引数

  • type string (optional)#
  • options Object (optional)
    • behavior "wait" | "ignoreErrors" | "default" (optional)#

      すでに実行中のリスナーを待つかどうか、またエラーが発生した場合の対処法を指定します。

      • '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 (optional)#

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

  • options Object (optional)

    • categories Array<string> (optional)#

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

    • path string (optional)#

      トレースファイルの書き込み先パス。

    • screenshots boolean (optional)#

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

戻り値


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

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

使用法

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

イベントデータ