菜单
开源

newPage([options])

如果尚未为 浏览器 初始化 BrowserContext,则在新的 BrowserContext 中创建并返回一个新的 Page。如果 BrowserContext 已初始化,则会抛出错误。

注意

BrowserBrowserContext 之间是一一映射关系,这意味着您无法并发运行多个 BrowserContext。由于此限制,如果已存在一个 BrowserContext,则必须先 获取关闭 它,然后才能创建新的。

注意

已打开的页面应该使用 Page.close 关闭。未关闭的页面可能会扭曲 Web Vital 指标的结果。

参数类型默认值描述
optionsobjectnull
options.bypassCSPbooleanfalse是否绕过页面的 Content-Security-Policy。
options.colorSchemestring'light'通过模拟“prefers-colors-scheme”媒体特性,是否以暗模式或亮模式显示页面。可以是 'light''dark''no-preference' 之一。
options.deviceScaleFactor number1设置物理像素分辨率与 CSS 像素分辨率的比率,例如,如果设置为高于 1,则在高像素密度屏幕上的图像会更清晰。请参阅下面的示例
options.extraHTTPHeadersobjectnull包含随每个请求发送的附加 HTTP 头部,其中键是 HTTP 头部名称,值是 HTTP 头部值。
options.geolocation objectnull设置用户的地理位置。
options.geolocation.latitudenumber0纬度应在 -9090 之间。
options.geolocation.longitudenumber0经度应在 -180180 之间。
options.geolocation.accuracynumber0精度应为非负数。默认为 0
options.hasTouch booleanfalse是否模拟带有触摸事件的设备。
options.httpCredentialsobjectnull设置使用基本认证 (Basic Auth) 进行 HTTP 认证的凭据。
options.httpCredentials.usernamestring''要传递给网络浏览器进行基本 HTTP 认证的用户名。
options.httpCredentials.passwordstring''要传递给网络浏览器进行基本 HTTP 认证的密码。
options.ignoreHTTPSErrorsbooleanfalse是否忽略由无效证书引起的 HTTPS 错误。
options.isMobilebooleanfalse是否模拟移动设备。
options.javaScriptEnabledbooleantrue是否为上下文激活 JavaScript 支持。
options.localestringsystem指定用户的区域设置,例如 'en-US''tr-TR' 等。
options.offlinebooleanfalse是否模拟离线网络。
options.permissionsArraynull要授予上下文页面的权限。有关选项,请参见 browserContext.grantPermissions()
options.reducedMotionstring'no-preference'通过模拟“prefers-reduced-motion”媒体特性,最大限度地减少运动量。可以是 'reduce''no-preference' 之一。有关选项,请参见 page.emulateMedia()
options.screenobject{'width': 1280, 'height': 720}为上下文中的所有页面设置窗口屏幕大小。仅当设置了视口时才能使用。
options.screen.widthnumber1280页面的像素宽度。
options.screen.heightnumber720页面的像素高度。
options.timezoneIDstringsystem更改上下文的时区。有关支持的时区 ID 列表,请参见 ICU 的 metaZones.txt
options.userAgentstringbrowser指定要在上下文中使用的用户代理。
options.viewportobject{'width': 1280, 'height': 720}为上下文中的所有页面设置视口大小。null 会禁用默认视口。
options.viewport.widthnumber1280页面的像素宽度。
options.viewport.heightnumber720页面的像素高度。

返回值

类型描述
Promise<Page>一个 Promise,解析后包含一个 Page 对象。

deviceScaleFactor 示例

JavaScript
import { browser } from 'k6/browser';

export const options = {
  scenarios: {
    browser: {
      executor: 'shared-iterations',
      options: {
        browser: {
          type: 'chromium',
        },
      },
    },
  },
};

export default async function () {
  const page = await browser.newPage({
    viewport: {
      width: 375,
      height: 812,
    },
    deviceScaleFactor: 3,
  });

  try {
    await page.goto('https://test.k6.io/');
  } finally {
    await page.close();
  }
}