Skip to main content

Browser

浏览器是通过 BrowserType.LaunchAsync() 创建的。使用 Browser 创建 Page 的示例如下:

🌐 A Browser is created via BrowserType.LaunchAsync(). An example of using a Browser to create a Page:

using Microsoft.Playwright;

using var playwright = await Playwright.CreateAsync();
var firefox = playwright.Firefox;
var browser = await firefox.LaunchAsync(new() { Headless = false });
var page = await browser.NewPageAsync();
await page.GotoAsync("https://www.bing.com");
await browser.CloseAsync();

方法

🌐 Methods

BrowserType

Added in: v1.23 browser.BrowserType

获取浏览器所属的浏览器类型(chromium、firefox 或 webkit)。

🌐 Get the browser type (chromium, firefox or webkit) that the browser belongs to.

用法

Browser.BrowserType

返回


CloseAsync

Added before v1.9 browser.CloseAsync

如果此浏览器是通过 BrowserType.LaunchAsync() 获得的,它会关闭浏览器及其所有页面(如果有打开的话)。

🌐 In case this browser is obtained using BrowserType.LaunchAsync(), closes the browser and all of its pages (if any were opened).

如果连接到此浏览器,则清除属于此浏览器的所有创建的上下文并断开与浏览器服务器的连接。

🌐 In case this browser is connected to, clears all created contexts belonging to this browser and disconnects from the browser server.

note

这类似于强制关闭浏览器。要优雅地关闭页面并确保接收到页面关闭事件,请在调用 Browser.CloseAsync() 之前,对你之前使用 Browser.NewContextAsync() 显式创建的任何 BrowserContext 实例调用 BrowserContext.CloseAsync()

🌐 This is similar to force-quitting the browser. To close pages gracefully and ensure you receive page close events, call BrowserContext.CloseAsync() on any BrowserContext instances you explicitly created earlier using Browser.NewContextAsync() before calling Browser.CloseAsync().

【Browser】对象本身已被认为是已释放状态,不能再使用。

🌐 The Browser object itself is considered to be disposed and cannot be used anymore.

用法

await Browser.CloseAsync(options);

参数

  • options BrowserCloseOptions? (optional)
    • Reason string? (optional) Added in: v1.40#

      报告的原因是由于浏览器关闭而中断的操作。

返回


Contexts

Added before v1.9 browser.Contexts

返回所有打开的浏览器上下文的数组。在新创建的浏览器中,这将返回零个浏览器上下文。

🌐 Returns an array of all open browser contexts. In a newly created browser, this will return zero browser contexts.

用法

using var playwright = await Playwright.CreateAsync();
var browser = await playwright.Webkit.LaunchAsync();
System.Console.WriteLine(browser.Contexts.Count); // prints "0"
var context = await browser.NewContextAsync();
System.Console.WriteLine(browser.Contexts.Count); // prints "1"

返回


IsConnected

Added before v1.9 browser.IsConnected

表示浏览器已连接。

🌐 Indicates that the browser is connected.

用法

Browser.IsConnected

返回


NewBrowserCDPSessionAsync

Added in: v1.11 browser.NewBrowserCDPSessionAsync
note

CDP 会话仅支持基于 Chromium 的浏览器。

🌐 CDP Sessions are only supported on Chromium-based browsers.

返回新创建的浏览器会话。

🌐 Returns the newly created browser session.

用法

await Browser.NewBrowserCDPSessionAsync();

返回


NewContextAsync

Added before v1.9 browser.NewContextAsync

创建一个新的浏览器上下文。它不会与其他浏览器上下文共享 cookies 或缓存。

🌐 Creates a new browser context. It won't share cookies/cache with other browser contexts.

note

如果直接使用此方法创建 BrowserContext,最佳实践是在代码完成对 BrowserContext 的操作后,并在调用 Browser.CloseAsync() 之前,显式通过 BrowserContext.CloseAsync() 关闭返回的上下文。这将确保 context 优雅地关闭,并且任何产物——如 HAR 文件和视频——都能完全刷新并保存。

🌐 If directly using this method to create BrowserContexts, it is best practice to explicitly close the returned context via BrowserContext.CloseAsync() when your code is done with the BrowserContext, and before calling Browser.CloseAsync(). This will ensure the context is closed gracefully and any artifacts—like HARs and videos—are fully flushed and saved.

用法

using var playwright = await Playwright.CreateAsync();
var browser = await playwright.Firefox.LaunchAsync();
// Create a new incognito browser context.
var context = await browser.NewContextAsync();
// Create a new page in a pristine context.
var page = await context.NewPageAsync(); ;
await page.GotoAsync("https://www.bing.com");

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

参数

  • options BrowserNewContextOptions? (optional)
    • AcceptDownloads bool? (optional)#

      是否自动下载所有附件。默认值为 true,表示接受所有下载。

    • BaseURL string? (optional)#

      使用 Page.GotoAsync()Page.RouteAsync()Page.WaitForURLAsync()Page.RunAndWaitForRequestAsync()Page.RunAndWaitForResponseAsync() 时,会通过使用 URL() 构造函数构建相应的 URL 来考虑基础 URL。默认未设置。示例:

      • baseURL:http://localhost:3000,然后导航到 /bar.html 会得到 http://localhost:3000/bar.html
      • baseURL:http://localhost:3000/foo/,然后导航到 ./bar.html 会得到 http://localhost:3000/foo/bar.html
      • baseURL: http://localhost:3000/foo(不带末尾斜杠),然后导航到 ./bar.html 会得到 http://localhost:3000/bar.html
    • BypassCSP bool? (optional)#

      切换是否绕过页面的内容安全策略。默认值为 false

    • ClientCertificates IEnumerable?<ClientCertificates> (optional) Added in: 1.46#

      • Origin string

        证书有效的确切来源。来源包括 https 协议、主机名以及可选的端口。

      • CertPath string? (optional)

        PEM 格式的证书文件路径。

      • Cert byte[]? (optional)

        PEM 格式的证书的直接值。

      • KeyPath string? (optional)

        PEM 格式的私钥文件路径。

      • Key byte[]? (optional)

        PEM 格式的私钥的直接值。

      • PfxPath string? (optional)

        PFX 或 PKCS12 编码的私钥和证书链的路径。

      • Pfx byte[]? (optional)

        PFX 或 PKCS12 编码的私钥和证书链的直接值。

      • Passphrase string? (optional)

        私钥的密码(PEM 或 PFX)。

      TLS 客户端身份验证允许服务器请求客户端证书并对其进行验证。

      详情

      要使用的一组客户端证书。每个证书对象必须同时具有 certPathkeyPath,或者单独具有 pfxPath,或它们对应的直接值等效项(certkey,或 pfx)。如果证书是加密的,则可选择提供 passphrase 属性。origin 属性应提供与证书有效的请求来源完全匹配的值。

      客户端证书认证仅在提供至少一个客户端证书时才有效。如果你想拒绝服务器发送的所有客户端证书,你需要提供一个 origin 与你计划访问的任何域名都不匹配的客户端证书。

      note

      在 macOS 上使用 WebKit 时,访问 localhost 不会使用客户端证书。你可以通过将 localhost 替换为 local.playwright 来使其正常工作。

    • ColorScheme enum ColorScheme { Light, Dark, NoPreference, Null }? (optional)#

      模拟 prefers-colors-scheme 媒体特性,支持的值为 'light''dark'。详情请参阅 Page.EmulateMediaAsync()。传入 'null' 可将模拟重置为系统默认值。默认值为 'light'

    • Contrast enum Contrast { NoPreference, More, Null }? (optional)#

      模拟 'prefers-contrast' 媒体特性,支持的值有 'no-preference''more'。更多详情请参见 Page.EmulateMediaAsync()。传入 'null' 可将模拟重置为系统默认值。默认值为 'no-preference'

    • DeviceScaleFactor [float]? (optional)#

      指定设备缩放因子(可以理解为 DPR)。默认值为 1。了解有关使用设备缩放因子模拟设备的更多信息。

    • ExtraHTTPHeaders IDictionary?<string, string> (optional)#

      一个包含附加 HTTP 头的对象,这些头将随每个请求发送。默认为无。

    • ForcedColors enum ForcedColors { Active, None, Null }? (optional)#

      模拟 'forced-colors' 媒体特性,支持的值有 'active''none'。更多详情请参见 Page.EmulateMediaAsync()。传入 'null' 可将模拟重置为系统默认值。默认值为 'none'

    • Geolocation Geolocation? (optional)#

      • Latitude [float]

        纬度在 -90 到 90 之间。

      • Longitude [float]

        经度在 -180 到 180 之间。

      • Accuracy [float]? (optional)

        非负精度值。默认值为 0

    • HasTouch bool? (optional)#

      指定视口是否支持触摸事件。默认值为 false。了解更多关于 移动模拟 的信息。

    • HttpCredentials HttpCredentials? (optional)#

      • Username string

      • Password string

      • Origin string? (optional)

        限制在特定来源 (scheme://host:port) 上发送 http 凭据。

      • Send enum HttpCredentialsSend { Unauthorized, Always }? (optional)

        此选项仅适用于从对应的 APIRequestContext 发送的请求,并不影响从浏览器发送的请求。'always' - Authorization 头信息会随每个 API 请求发送基本认证凭据。'unauthorized - 凭据仅在收到带有 WWW-Authenticate 头的 401(未授权)响应时发送。默认为 'unauthorized'

      HTTP 认证 的凭据。如果未指定来源,用户名和密码将在收到未授权响应时发送到任何服务器。

    • IgnoreHTTPSErrors bool? (optional)#

      发送网络请求时是否忽略 HTTPS 错误。默认值为 false

    • IsMobile bool? (optional)#

      是否考虑 meta viewport 标签并启用触摸事件。isMobile 是 device 的一部分,因此你实际上不需要手动设置它。默认值为 false,并且在 Firefox 中不受支持。了解更多关于 移动端模拟 的信息。

    • JavaScriptEnabled bool? (optional)#

      是否在此环境中启用 JavaScript。默认为 true。了解更多关于禁用 JavaScript的信息。

    • Locale string? (optional)#

      指定用户区域设置,例如 en-GBde-DE 等。区域设置会影响 navigator.language 的值、Accept-Language 请求头的值以及数字和日期的格式规则。默认为系统默认区域设置。有关模拟的更多信息,请参阅我们的 模拟指南

    • Offline bool? (optional)#

      是否模拟网络离线。默认为 false。了解更多关于 网络模拟 的信息。

    • Permissions IEnumerable?<string> (optional)#

      在此上下文中授予所有页面的权限列表。有关更多详细信息,请参见 BrowserContext.GrantPermissionsAsync()。默认情况下不授予任何权限。

    • Proxy Proxy? (optional)#

      • Server string

        用于所有请求的代理。支持 HTTP 和 SOCKS 代理,例如 http://myproxy.com:3128socks5://myproxy.com:3128。简写 myproxy.com:3128 被视为 HTTP 代理。

      • Bypass string? (optional)

        可选的以逗号分隔的域名,用于绕过代理,例如 ".com, chromium.org, .domain.com"

      • Username string? (optional)

        如果 HTTP 代理需要身份验证,则使用可选的用户名。

      • Password string? (optional)

        如果 HTTP 代理需要身份验证,则使用可选密码。

      在此上下文中使用的网络代理设置。默认情况下为无。

    • RecordHarContent enum HarContentPolicy { Omit, Embed, Attach }? (optional)#

      可选设置,用于控制资源内容管理。如果指定 omit,内容不会被保存。如果指定 attach,资源将作为单独的文件保存,并且所有这些文件会与 HAR 文件一起归档。默认值为 embed,根据 HAR 规范将内容以内联方式存储在 HAR 文件中。

    • RecordHarMode enum HarMode { Full, Minimal }? (optional)#

      当设置为 minimal 时,仅记录从 HAR 路由所需的信息。这会省略在从 HAR 回放时不使用的大小、时间、页面、Cookies、安全性以及其他类型的 HAR 信息。默认值为 full

    • RecordHarOmitContent bool? (optional)#

      可选设置,用于控制是否从 HAR 中省略请求内容。默认值为 false

    • RecordHarPath string? (optional)#

      启用对所有页面的 HAR 记录,并将其保存到文件系统中指定的 HAR 文件中。如果未指定,则不会记录 HAR。请确保调用 BrowserContext.CloseAsync() 以保存 HAR。

    • RecordHarUrlFilter|RecordHarUrlFilterRegex string? | Regex? (optional)#

    • RecordVideoDir string? (optional)#

      启用将所有页面的视频录制到指定目录。如果未指定,则不会录制视频。请确保调用 BrowserContext.CloseAsync() 以保存视频。

    • RecordVideoSize RecordVideoSize? (optional)#

      • Width int

        视频帧宽度。

      • Height int

        视频帧高度。

      录制视频的尺寸。如果未指定,尺寸将等于 viewport,并缩小以适应 800x800。如果未明确配置 viewport,视频尺寸默认为 800x450。如有必要,每一页的实际图片将被缩小以适应指定尺寸。

    • ReducedMotion enum ReducedMotion { Reduce, NoPreference, Null }? (optional)#

      模拟 'prefers-reduced-motion' 媒体特性,支持的值有 'reduce''no-preference'。更多详情请参见 Page.EmulateMediaAsync()。传入 'null' 可将模拟重置为系统默认值。默认值为 'no-preference'

    • ScreenSize ScreenSize? (optional)#

      • Width int

        页面宽度(以像素为单位)。

      • Height int

        页面高度(以像素为单位)。

      通过 window.screen 模拟网页内可用的一致窗口屏幕大小。仅在设置了 ViewportSize 时使用。

    • ServiceWorkers enum ServiceWorkerPolicy { Allow, Block }? (optional)#

      是否允许网站注册服务工作进程。默认值为 'allow'

      • 'allow'服务工作者 可以被注册。
      • 'block':Playwright 将阻止所有服务工作进程的注册。
    • StorageState string? (optional)#

      使用给定的存储状态填充上下文。此选项可用于使用通过 BrowserContext.StorageStateAsync() 获取的登录信息初始化上下文。

    • StorageStatePath string? (optional) Added in: v1.9#

      使用给定的存储状态填充上下文。此选项可用于使用通过 BrowserContext.StorageStateAsync() 获取的已登录信息初始化上下文。保存存储状态的文件路径。

    • StrictSelectors bool? (optional)#

      如果设置为 true,则为此上下文启用严格选择器模式。在严格选择器模式下,对选择器进行的所有操作,如果操作意图是单个目标 DOM 元素,当有多个元素匹配选择器时将会抛出错误。此选项不会影响任何定位器(Locator)API(定位器始终是严格的)。默认值为 false。请参阅 Locator 了解有关严格模式的更多信息。

    • TimezoneId string? (optional)#

      更改上下文的时区。有关支持的时区 ID 列表,请参阅 ICU 的 metaZones.txt。默认使用系统时区。

    • UserAgent string? (optional)#

      在此上下文中使用的特定用户代理。

    • ViewportSize ViewportSize? (optional)#

      • Width int

        页面宽度(以像素为单位)。

      • Height int

        页面高度(以像素为单位)。

      为每个页面模拟一致的视口。默认视口为 1280x720。使用 ViewportSize.NoViewport 可禁用一致视口模拟。了解更多关于视口模拟的信息。

      note

      ViewportSize.NoViewport 值选择不使用默认预设,使视口依赖于操作系统定义的主机窗口大小。这会导致测试执行结果不确定。

返回


NewPageAsync

Added before v1.9 browser.NewPageAsync

在新的浏览器上下文中创建一个新页面。关闭此页面也会关闭该上下文。

🌐 Creates a new page in a new browser context. Closing this page will close the context as well.

这是一个便捷 API,只应在单页场景和短代码片段中使用。生产代码和测试框架应明确创建 Browser.NewContextAsync(),然后再创建 BrowserContext.NewPageAsync() 以精确控制它们的生命周期。

🌐 This is a convenience API that should only be used for the single-page scenarios and short snippets. Production code and testing frameworks should explicitly create Browser.NewContextAsync() followed by the BrowserContext.NewPageAsync() to control their exact life times.

用法

await Browser.NewPageAsync(options);

参数

  • options BrowserNewPageOptions? (optional)
    • AcceptDownloads bool? (optional)#

      是否自动下载所有附件。默认值为 true,表示接受所有下载。

    • BaseURL string? (optional)#

      使用 Page.GotoAsync()Page.RouteAsync()Page.WaitForURLAsync()Page.RunAndWaitForRequestAsync()Page.RunAndWaitForResponseAsync() 时,会通过使用 URL() 构造函数构建相应的 URL 来考虑基础 URL。默认未设置。示例:

      • baseURL:http://localhost:3000,然后导航到 /bar.html 会得到 http://localhost:3000/bar.html
      • baseURL:http://localhost:3000/foo/,然后导航到 ./bar.html 会得到 http://localhost:3000/foo/bar.html
      • baseURL: http://localhost:3000/foo(不带末尾斜杠),然后导航到 ./bar.html 会得到 http://localhost:3000/bar.html
    • BypassCSP bool? (optional)#

      切换是否绕过页面的内容安全策略。默认值为 false

    • ClientCertificates IEnumerable?<ClientCertificates> (optional) Added in: 1.46#

      • Origin string

        证书有效的确切来源。来源包括 https 协议、主机名以及可选的端口。

      • CertPath string? (optional)

        PEM 格式的证书文件路径。

      • Cert byte[]? (optional)

        PEM 格式的证书的直接值。

      • KeyPath string? (optional)

        PEM 格式的私钥文件路径。

      • Key byte[]? (optional)

        PEM 格式的私钥的直接值。

      • PfxPath string? (optional)

        PFX 或 PKCS12 编码的私钥和证书链的路径。

      • Pfx byte[]? (optional)

        PFX 或 PKCS12 编码的私钥和证书链的直接值。

      • Passphrase string? (optional)

        私钥的密码(PEM 或 PFX)。

      TLS 客户端身份验证允许服务器请求客户端证书并对其进行验证。

      详情

      要使用的一组客户端证书。每个证书对象必须同时具有 certPathkeyPath,或者单独具有 pfxPath,或它们对应的直接值等效项(certkey,或 pfx)。如果证书是加密的,则可选择提供 passphrase 属性。origin 属性应提供与证书有效的请求来源完全匹配的值。

      客户端证书认证仅在提供至少一个客户端证书时才有效。如果你想拒绝服务器发送的所有客户端证书,你需要提供一个 origin 与你计划访问的任何域名都不匹配的客户端证书。

      note

      在 macOS 上使用 WebKit 时,访问 localhost 不会使用客户端证书。你可以通过将 localhost 替换为 local.playwright 来使其正常工作。

    • ColorScheme enum ColorScheme { Light, Dark, NoPreference, Null }? (optional)#

      模拟 prefers-colors-scheme 媒体特性,支持的值为 'light''dark'。详情请参阅 Page.EmulateMediaAsync()。传入 'null' 可将模拟重置为系统默认值。默认值为 'light'

    • Contrast enum Contrast { NoPreference, More, Null }? (optional)#

      模拟 'prefers-contrast' 媒体特性,支持的值有 'no-preference''more'。更多详情请参见 Page.EmulateMediaAsync()。传入 'null' 可将模拟重置为系统默认值。默认值为 'no-preference'

    • DeviceScaleFactor [float]? (optional)#

      指定设备缩放因子(可以理解为 DPR)。默认值为 1。了解有关使用设备缩放因子模拟设备的更多信息。

    • ExtraHTTPHeaders IDictionary?<string, string> (optional)#

      一个包含附加 HTTP 头的对象,这些头将随每个请求发送。默认为无。

    • ForcedColors enum ForcedColors { Active, None, Null }? (optional)#

      模拟 'forced-colors' 媒体特性,支持的值有 'active''none'。更多详情请参见 Page.EmulateMediaAsync()。传入 'null' 可将模拟重置为系统默认值。默认值为 'none'

    • Geolocation Geolocation? (optional)#

      • Latitude [float]

        纬度在 -90 到 90 之间。

      • Longitude [float]

        经度在 -180 到 180 之间。

      • Accuracy [float]? (optional)

        非负精度值。默认值为 0

    • HasTouch bool? (optional)#

      指定视口是否支持触摸事件。默认值为 false。了解更多关于 移动模拟 的信息。

    • HttpCredentials HttpCredentials? (optional)#

      • Username string

      • Password string

      • Origin string? (optional)

        限制在特定来源 (scheme://host:port) 上发送 http 凭据。

      • Send enum HttpCredentialsSend { Unauthorized, Always }? (optional)

        此选项仅适用于从对应的 APIRequestContext 发送的请求,并不影响从浏览器发送的请求。'always' - Authorization 头信息会随每个 API 请求发送基本认证凭据。'unauthorized - 凭据仅在收到带有 WWW-Authenticate 头的 401(未授权)响应时发送。默认为 'unauthorized'

      HTTP 认证 的凭据。如果未指定来源,用户名和密码将在收到未授权响应时发送到任何服务器。

    • IgnoreHTTPSErrors bool? (optional)#

      发送网络请求时是否忽略 HTTPS 错误。默认值为 false

    • IsMobile bool? (optional)#

      是否考虑 meta viewport 标签并启用触摸事件。isMobile 是 device 的一部分,因此你实际上不需要手动设置它。默认值为 false,并且在 Firefox 中不受支持。了解更多关于 移动端模拟 的信息。

    • JavaScriptEnabled bool? (optional)#

      是否在此环境中启用 JavaScript。默认为 true。了解更多关于禁用 JavaScript的信息。

    • Locale string? (optional)#

      指定用户区域设置,例如 en-GBde-DE 等。区域设置会影响 navigator.language 的值、Accept-Language 请求头的值以及数字和日期的格式规则。默认为系统默认区域设置。有关模拟的更多信息,请参阅我们的 模拟指南

    • Offline bool? (optional)#

      是否模拟网络离线。默认为 false。了解更多关于 网络模拟 的信息。

    • Permissions IEnumerable?<string> (optional)#

      在此上下文中授予所有页面的权限列表。有关更多详细信息,请参见 BrowserContext.GrantPermissionsAsync()。默认情况下不授予任何权限。

    • Proxy Proxy? (optional)#

      • Server string

        用于所有请求的代理。支持 HTTP 和 SOCKS 代理,例如 http://myproxy.com:3128socks5://myproxy.com:3128。简写 myproxy.com:3128 被视为 HTTP 代理。

      • Bypass string? (optional)

        可选的以逗号分隔的域名,用于绕过代理,例如 ".com, chromium.org, .domain.com"

      • Username string? (optional)

        如果 HTTP 代理需要身份验证,则使用可选的用户名。

      • Password string? (optional)

        如果 HTTP 代理需要身份验证,则使用可选密码。

      在此上下文中使用的网络代理设置。默认情况下为无。

    • RecordHarContent enum HarContentPolicy { Omit, Embed, Attach }? (optional)#

      可选设置,用于控制资源内容管理。如果指定 omit,内容不会被保存。如果指定 attach,资源将作为单独的文件保存,并且所有这些文件会与 HAR 文件一起归档。默认值为 embed,根据 HAR 规范将内容以内联方式存储在 HAR 文件中。

    • RecordHarMode enum HarMode { Full, Minimal }? (optional)#

      当设置为 minimal 时,仅记录从 HAR 路由所需的信息。这会省略在从 HAR 回放时不使用的大小、时间、页面、Cookies、安全性以及其他类型的 HAR 信息。默认值为 full

    • RecordHarOmitContent bool? (optional)#

      可选设置,用于控制是否从 HAR 中省略请求内容。默认值为 false

    • RecordHarPath string? (optional)#

      启用对所有页面的 HAR 记录,并将其保存到文件系统中指定的 HAR 文件中。如果未指定,则不会记录 HAR。请确保调用 BrowserContext.CloseAsync() 以保存 HAR。

    • RecordHarUrlFilter|RecordHarUrlFilterRegex string? | Regex? (optional)#

    • RecordVideoDir string? (optional)#

      启用将所有页面的视频录制到指定目录。如果未指定,则不会录制视频。请确保调用 BrowserContext.CloseAsync() 以保存视频。

    • RecordVideoSize RecordVideoSize? (optional)#

      • Width int

        视频帧宽度。

      • Height int

        视频帧高度。

      录制视频的尺寸。如果未指定,尺寸将等于 viewport,并缩小以适应 800x800。如果未明确配置 viewport,视频尺寸默认为 800x450。如有必要,每一页的实际图片将被缩小以适应指定尺寸。

    • ReducedMotion enum ReducedMotion { Reduce, NoPreference, Null }? (optional)#

      模拟 'prefers-reduced-motion' 媒体特性,支持的值有 'reduce''no-preference'。更多详情请参见 Page.EmulateMediaAsync()。传入 'null' 可将模拟重置为系统默认值。默认值为 'no-preference'

    • ScreenSize ScreenSize? (optional)#

      • Width int

        页面宽度(以像素为单位)。

      • Height int

        页面高度(以像素为单位)。

      通过 window.screen 模拟网页内可用的一致窗口屏幕大小。仅在设置了 ViewportSize 时使用。

    • ServiceWorkers enum ServiceWorkerPolicy { Allow, Block }? (optional)#

      是否允许网站注册服务工作进程。默认值为 'allow'

      • 'allow'服务工作者 可以被注册。
      • 'block':Playwright 将阻止所有服务工作进程的注册。
    • StorageState string? (optional)#

      使用给定的存储状态填充上下文。此选项可用于使用通过 BrowserContext.StorageStateAsync() 获取的登录信息初始化上下文。

    • StorageStatePath string? (optional) Added in: v1.9#

      使用给定的存储状态填充上下文。此选项可用于使用通过 BrowserContext.StorageStateAsync() 获取的已登录信息初始化上下文。保存存储状态的文件路径。

    • StrictSelectors bool? (optional)#

      如果设置为 true,则为此上下文启用严格选择器模式。在严格选择器模式下,对选择器进行的所有操作,如果操作意图是单个目标 DOM 元素,当有多个元素匹配选择器时将会抛出错误。此选项不会影响任何定位器(Locator)API(定位器始终是严格的)。默认值为 false。请参阅 Locator 了解有关严格模式的更多信息。

    • TimezoneId string? (optional)#

      更改上下文的时区。有关支持的时区 ID 列表,请参阅 ICU 的 metaZones.txt。默认使用系统时区。

    • UserAgent string? (optional)#

      在此上下文中使用的特定用户代理。

    • ViewportSize ViewportSize? (optional)#

      • Width int

        页面宽度(以像素为单位)。

      • Height int

        页面高度(以像素为单位)。

      为每个页面模拟一致的视口。默认视口为 1280x720。使用 ViewportSize.NoViewport 可禁用一致视口模拟。了解更多关于视口模拟的信息。

      note

      ViewportSize.NoViewport 值选择不使用默认预设,使视口依赖于操作系统定义的主机窗口大小。这会导致测试执行结果不确定。

返回


Version

Added before v1.9 browser.Version

返回浏览器版本。

🌐 Returns the browser version.

用法

Browser.Version

返回


事件

🌐 Events

event Disconnected

Added before v1.9 browser.event Disconnected

当浏览器与浏览器应用断开连接时触发。这可能由以下原因之一导致:

🌐 Emitted when Browser gets disconnected from the browser application. This might happen because of one of the following:

用法

Browser.Disconnected += async (_, browser) => {};

事件数据