跳到主要內容

瀏覽器

瀏覽器是透過 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() 取得,則關閉瀏覽器及其所有頁面 (如果有的話)。

如果此瀏覽器已連線,則清除所有屬於此瀏覽器的已建立 context,並從瀏覽器伺服器中斷連線。

注意

這與強制結束瀏覽器類似。 若要優雅地關閉頁面並確保您收到頁面關閉事件,請在您先前使用 browser.newContext() 明確建立的任何 BrowserContext 執行個體上呼叫 browserContext.close()然後再呼叫 browser.close()

Browser 物件本身會被視為已處置,且無法再使用。

用法

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

參數

  • options Object (選用)
    • reason string (選用)新增於:v1.40#

      要報告給瀏覽器關閉中斷之作業的原因。

回傳


contexts

v1.9 之前新增 browser.contexts

傳回所有開啟瀏覽器 context 的陣列。 在新建立的瀏覽器中,這將傳回零個瀏覽器 context。

用法

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 Session 僅在以 Chromium 為基礎的瀏覽器上受到支援。

傳回新建立的瀏覽器 session。

用法

await browser.newBrowserCDPSession();

回傳


newContext

v1.9 之前新增 browser.newContext

建立新的瀏覽器 context。 它不會與其他瀏覽器 context 共用 Cookie/快取。

注意

如果直接使用此方法來建立 BrowserContext,最佳做法是在您的程式碼完成 BrowserContext 的操作時,以及在呼叫 browser.close() 之前,透過 browserContext.close() 明確關閉傳回的 context。 這將確保 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://127.0.0.1:3000 和導覽至 /bar.html 會產生 https://127.0.0.1:3000/bar.html
      • baseURL:https://127.0.0.1:3000/foo/ 和導覽至 ./bar.html 會產生 https://127.0.0.1:3000/foo/bar.html
      • baseURL:https://127.0.0.1:3000/foo (不含尾部斜線) 和導覽至 ./bar.html 會產生 https://127.0.0.1:3000/bar.html
    • bypassCSP boolean (選用)#

      切換是否略過頁面的內容安全策略。 預設為 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 不會挑選用戶端憑證。 您可以將 localhost 取代為 local.playwright,使其運作。

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

      模擬 prefers-colors-scheme 媒體功能,支援的值為 'light''dark'。 如需更多詳細資訊,請參閱 page.emulateMedia()。 傳遞 null 會將模擬重設為系統預設值。 預設為 'light'

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

      指定 viewport 是否支援觸控事件。 預設為 false。 深入瞭解行動裝置模擬

    • httpCredentials Object (選用)#

      • username string

      • password string

      • origin string (選用)

        限制在特定來源上傳送 http 憑證 (scheme://host:port).

      • send "unauthorized" | "always" (選用)

        此選項僅適用於從對應的 APIRequestContext 傳送的要求,且不會影響從瀏覽器傳送的要求。 'always' - 具有基本驗證憑證的 Authorization 標頭將與每個 API 要求一起傳送。 'unauthorized - 憑證僅在收到具有 WWW-Authenticate 標頭的 401 (未授權) 回應時傳送。 預設為 'unauthorized'

      HTTP 驗證的憑證。 如果未指定來源,則使用者名稱和密碼會在收到未授權回應時傳送至任何伺服器。

    • ignoreHTTPSErrors boolean (選用)#

      是否在傳送網路要求時忽略 HTTPS 錯誤。 預設為 false

    • isMobile boolean (選用)#

      是否將 meta viewport 標籤納入考量,並啟用觸控事件。 isMobile 是裝置的一部分,因此您實際上不需要手動設定它。 預設為 false,且 Firefox 中不支援。 深入瞭解行動裝置模擬

    • javaScriptEnabled boolean (選用)#

      是否要在 context 中啟用 JavaScript。 預設為 true。 深入瞭解停用 JavaScript

    • locale string (選用)#

      指定使用者地區設定,例如 en-GBde-DE 等。 地區設定將影響 navigator.language 值、Accept-Language 要求標頭值,以及數字和日期格式規則。 預設為系統預設地區設定。 在我們的模擬指南中深入瞭解模擬。

    • logger Logger (選用)#

      用於 Playwright 記錄的記錄器接收器。

    • offline boolean (選用)#

      是否模擬網路離線。 預設為 false。 深入瞭解網路模擬

    • permissions Array<string> (選用)#

      要授與此 context 中所有頁面的權限清單。 如需更多詳細資訊,請參閱 browserContext.grantPermissions()。 預設為無。

    • proxy Object (選用)#

      • server string

        用於所有要求的 Proxy。 支援 HTTP 和 SOCKS Proxy,例如 http://myproxy.com:3128socks5://myproxy.com:3128。 簡短形式 myproxy.com:3128 會被視為 HTTP Proxy。

      • bypass string (選用)

        選用的逗號分隔網域,可略過 Proxy,例如 ".com, chromium.org, .domain.com"

      • username string (選用)

        如果 HTTP Proxy 需要驗證,則為選用的使用者名稱。

      • password string (選用)

        如果 HTTP Proxy 需要驗證,則為選用的密碼。

      要用於此 context 的網路 Proxy 設定。 預設為無。

    • 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 路由所需的資訊。 這會省略大小、時間、頁面、Cookie、安全性,以及從 HAR 重新播放時未使用的其他類型的 HAR 資訊。 預設為 full

      • urlFilter string | RegExp (選用)

        用於篩選儲存在 HAR 中的要求的 glob 或 regex 模式。 當透過 context 選項提供 baseURL,且傳遞的 URL 是路徑時,它會透過 new URL() 建構函式合併。 預設為無。

      針對所有頁面啟用 HAR 記錄到 recordHar.path 檔案中。 如果未指定,則不會記錄 HAR。 請務必等待 browserContext.close() 以儲存 HAR。

    • recordVideo Object (選用)#

      • dir string

        要將影片放入的目錄路徑。

      • size Object (選用)

        • width number

          影片影格寬度。

        • height number

          影片影格高度。

        錄製影片的選用尺寸。 如果未指定,則大小會等於縮小以符合 800x800 的 viewport。 如果未明確設定 viewport,則影片大小預設為 800x450。 如果需要,每個頁面的實際圖片都會縮小以符合指定的尺寸。

      針對所有頁面啟用影片錄製到 recordVideo.dir 目錄中。 如果未指定,則不會錄製影片。 請務必等待 browserContext.close() 以儲存影片。

    • 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" (選用)#

      是否允許網站註冊 Service Worker。 預設為 'allow'

      • 'allow':可以註冊 Service Worker
      • 'block':Playwright 將封鎖所有 Service Worker 的註冊。
    • storageState string | Object (選用)#

      • cookies Array<Object>
        • name string

        • value string

        • domain string

          網域和路徑為必要項目。 若要讓 Cookie 也適用於所有子網域,請在網域前面加上點,例如:".example.com"

        • path string

          網域和路徑為必要項目

        • expires number

          Unix 時間 (以秒為單位)。

        • httpOnly boolean

        • secure boolean

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

          sameSite 旗標

        要為 context 設定的 Cookie
      • origins Array<Object>
      localStorage to set for context

    Learn more about storage state and auth.

    Populates context with given storage state. This option can be used to initialize context with logged-in information obtained via browserContext.storageState().

  • strictSelectors boolean (optional)#

    If set to true, enables strict selectors mode for this context. In the strict selectors mode all operations on selectors that imply single target DOM element will throw when more than one element matches the selector. This option does not affect any Locator APIs (Locators are always strict). Defaults to false. See Locator to learn more about the strict mode.

  • timezoneId string (optional)#

    Changes the timezone of the context. See ICU's metaZones.txt for a list of supported timezone IDs. Defaults to the system timezone.

  • userAgent string (optional)#

    Specific user agent to use in this context.

  • videoSize Object (optional)#

    Deprecated

    Use recordVideo instead.

    • width number

      影片影格寬度。

    • height number

      影片影格高度。

  • videosPath string(字串) (選填)#

    Deprecated

    Use recordVideo instead.

  • viewport null | Object(物件) (選填)#

    • width number

      頁面寬度 (以像素為單位)。

    • height number

      頁面高度 (以像素為單位)。

    模擬每個頁面一致的 viewport(視窗範圍)。預設為 1280x720 viewport(視窗範圍)。使用 null 停用一致的 viewport(視窗範圍)模擬。深入瞭解 viewport(視窗範圍)模擬

    注意

    null 值會停用預設的預設值,使 viewport(視窗範圍)取決於作業系統定義的主機視窗大小。這會使測試的執行變得不確定。

回傳


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://127.0.0.1:3000 和導覽至 /bar.html 會產生 https://127.0.0.1:3000/bar.html
      • baseURL:https://127.0.0.1:3000/foo/ 和導覽至 ./bar.html 會產生 https://127.0.0.1:3000/foo/bar.html
      • baseURL:https://127.0.0.1:3000/foo (不含尾部斜線) 和導覽至 ./bar.html 會產生 https://127.0.0.1:3000/bar.html
    • bypassCSP boolean(布林值) (選填)#

      切換是否略過頁面的內容安全策略。 預設為 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 不會挑選用戶端憑證。 您可以將 localhost 取代為 local.playwright,使其運作。

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

      模擬 prefers-colors-scheme 媒體功能,支援的值為 'light''dark'。 如需更多詳細資訊,請參閱 page.emulateMedia()。 傳遞 null 會將模擬重設為系統預設值。 預設為 'light'

    • 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(布林值) (選填)#

      指定 viewport 是否支援觸控事件。 預設為 false。 深入瞭解行動裝置模擬

    • httpCredentials Object(物件) (選填)#

      • username string

      • password string

      • origin string (選用)

        限制在特定來源上傳送 http 憑證 (scheme://host:port).

      • send "unauthorized" | "always" (選用)

        此選項僅適用於從對應的 APIRequestContext 傳送的要求,且不會影響從瀏覽器傳送的要求。 'always' - 具有基本驗證憑證的 Authorization 標頭將與每個 API 要求一起傳送。 'unauthorized - 憑證僅在收到具有 WWW-Authenticate 標頭的 401 (未授權) 回應時傳送。 預設為 'unauthorized'

      HTTP 驗證的憑證。 如果未指定來源,則使用者名稱和密碼會在收到未授權回應時傳送至任何伺服器。

    • ignoreHTTPSErrors boolean(布林值) (選填)#

      是否在傳送網路要求時忽略 HTTPS 錯誤。 預設為 false

    • isMobile boolean(布林值) (選填)#

      是否將 meta viewport 標籤納入考量,並啟用觸控事件。 isMobile 是裝置的一部分,因此您實際上不需要手動設定它。 預設為 false,且 Firefox 中不支援。 深入瞭解行動裝置模擬

    • javaScriptEnabled boolean(布林值) (選填)#

      是否要在 context 中啟用 JavaScript。 預設為 true。 深入瞭解停用 JavaScript

    • locale string(字串) (選填)#

      指定使用者地區設定,例如 en-GBde-DE 等。 地區設定將影響 navigator.language 值、Accept-Language 要求標頭值,以及數字和日期格式規則。 預設為系統預設地區設定。 在我們的模擬指南中深入瞭解模擬。

    • logger Logger(記錄器) (選填)#

      用於 Playwright 記錄的記錄器接收器。

    • offline boolean(布林值) (選填)#

      是否模擬網路離線。 預設為 false。 深入瞭解網路模擬

    • permissions Array(陣列)<string(字串)> (選填)#

      要授與此 context 中所有頁面的權限清單。 如需更多詳細資訊,請參閱 browserContext.grantPermissions()。 預設為無。

    • proxy Object(物件) (選填)#

      • server string

        用於所有要求的 Proxy。 支援 HTTP 和 SOCKS Proxy,例如 http://myproxy.com:3128socks5://myproxy.com:3128。 簡短形式 myproxy.com:3128 會被視為 HTTP Proxy。

      • bypass string (選用)

        選用的逗號分隔網域,可略過 Proxy,例如 ".com, chromium.org, .domain.com"

      • username string (選用)

        如果 HTTP Proxy 需要驗證,則為選用的使用者名稱。

      • password string (選用)

        如果 HTTP Proxy 需要驗證,則為選用的密碼。

      要用於此 context 的網路 Proxy 設定。 預設為無。

    • 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 路由所需的資訊。 這會省略大小、時間、頁面、Cookie、安全性,以及從 HAR 重新播放時未使用的其他類型的 HAR 資訊。 預設為 full

      • urlFilter string | RegExp (選用)

        用於篩選儲存在 HAR 中的要求的 glob 或 regex 模式。 當透過 context 選項提供 baseURL,且傳遞的 URL 是路徑時,它會透過 new URL() 建構函式合併。 預設為無。

      針對所有頁面啟用 HAR 記錄到 recordHar.path 檔案中。 如果未指定,則不會記錄 HAR。 請務必等待 browserContext.close() 以儲存 HAR。

    • recordVideo Object(物件) (選填)#

      • dir string

        要將影片放入的目錄路徑。

      • size Object (選用)

        • width number

          影片影格寬度。

        • height number

          影片影格高度。

        錄製影片的選用尺寸。 如果未指定,則大小會等於縮小以符合 800x800 的 viewport。 如果未明確設定 viewport,則影片大小預設為 800x450。 如果需要,每個頁面的實際圖片都會縮小以符合指定的尺寸。

      針對所有頁面啟用影片錄製到 recordVideo.dir 目錄中。 如果未指定,則不會錄製影片。 請務必等待 browserContext.close() 以儲存影片。

    • 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" (選填)#

      是否允許網站註冊 Service Worker。 預設為 'allow'

      • 'allow':可以註冊 Service Worker
      • 'block':Playwright 將封鎖所有 Service Worker 的註冊。
    • storageState string(字串) | Object(物件) (選填)#

      • cookies Array<Object>
        • name string

        • value string

        • domain string

          網域和路徑為必要項目。 若要讓 Cookie 也適用於所有子網域,請在網域前面加上點,例如:".example.com"

        • path string

          網域和路徑為必要項目

        • expires number

          Unix 時間 (以秒為單位)。

        • httpOnly boolean

        • secure boolean

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

          sameSite 旗標

        要為 context 設定的 Cookie
      • origins Array<Object>
      localStorage to set for context

    Learn more about storage state and auth.

    Populates context with given storage state. This option can be used to initialize context with logged-in information obtained via browserContext.storageState().

  • strictSelectors boolean(布林值) (選填)#

    If set to true, enables strict selectors mode for this context. In the strict selectors mode all operations on selectors that imply single target DOM element will throw when more than one element matches the selector. This option does not affect any Locator APIs (Locators are always strict). Defaults to false. See Locator to learn more about the strict mode.

  • timezoneId string(字串) (選填)#

    Changes the timezone of the context. See ICU's metaZones.txt for a list of supported timezone IDs. Defaults to the system timezone.

  • userAgent string(字串) (選填)#

    Specific user agent to use in this context.

  • videoSize Object(物件) (選填)#

    Deprecated

    改用 recordVideo

    • width number

      影片影格寬度。

    • height number

      影片影格高度。

  • videosPath string(字串) (選填)#

    Deprecated

    改用 recordVideo

  • viewport null | Object(物件) (選填)#

    • width number

      頁面寬度 (以像素為單位)。

    • height number

      頁面高度 (以像素為單位)。

    模擬每個頁面一致的 viewport(視窗範圍)。預設為 1280x720 viewport(視窗範圍)。使用 null 停用一致的 viewport(視窗範圍)模擬。深入瞭解 viewport(視窗範圍)模擬

    注意

    null 值會停用預設的預設值,使 viewport(視窗範圍)取決於作業系統定義的主機視窗大小。這會使測試的執行變得不確定。

回傳


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 Tracing(追蹤),這是一個低階、Chromium 特有的偵錯工具。用於控制 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();

參數

回傳


stopTracing

新增於:v1.11 browser.stopTracing
注意

此 API 控制 Chromium Tracing(追蹤),這是一個低階、Chromium 特有的偵錯工具。用於控制 Playwright Tracing(追蹤) 的 API 可以在 這裡 找到。

傳回包含追蹤資料的緩衝區。

用法

await browser.stopTracing();

回傳


version

v1.9 之前新增 browser.version

傳回瀏覽器版本。

用法

browser.version();

回傳


Events(事件)

on('disconnected')

v1.9 之前新增 browser.on('disconnected')

當 Browser(瀏覽器)與瀏覽器應用程式斷線時發出。這可能是由於以下原因之一而發生

  • 瀏覽器應用程式已關閉或崩潰。
  • 呼叫了 browser.close() 方法。

用法

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

事件資料