菜单
文档面包屑箭头 Grafana k6面包屑箭头 JavaScript API面包屑箭头 k6/browser面包屑箭头 Page面包屑箭头 waitForSelector(selector[, options])
开源

waitForSelector(selector[, options])

注意

请改用断言可见性的 Web 断言或基于定位器的 locator.waitFor([options])

当选择器指定的元素满足 state 选项时返回。

参数类型默认值描述
selectorstring''用于搜索元素的选择器。如果存在多个满足选择器的元素,将使用第一个。
optionsobjectnull
options.statestringvisible可以是 attacheddetachedvisiblehidden。更多详情请参阅 元素状态
options.strictbooleanfalse当为 true 时,调用要求选择器解析为单个元素。如果给定选择器解析为多个元素,则调用会抛出异常。
options.timeoutnumber30000最大毫秒数。传递 0 可禁用超时。默认值会被 BrowserContextPage 上的 setDefaultTimeout 选项覆盖。

元素状态

元素状态可以是以下任意一种:

  • 'attached' - 等待元素出现在 DOM 中。
  • 'detached' - 等待元素从 DOM 中移除。
  • 'visible' - 等待元素具有非空边界框且没有 visibility:hidden 样式。
  • 'hidden' - 等待元素从 DOM 中移除,或者具有空边界框或 visibility:hidden 样式。

返回值

类型描述
Promise<ElementHandle | null>当找到匹配元素时,返回一个 Promise,该 Promise 解析为 ElementHandle;如果未找到元素,则返回 null

示例

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();
  await page.goto('https://test.k6.io/browser.php');
  await page.waitForSelector('#text1');
}