waitForSelector(selector[, options])
注意
请改用断言可见性的 Web 断言或基于定位器的
locator.waitFor([options])。
当选择器指定的元素满足 state 选项时返回。
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| selector | string | '' | 用于搜索元素的选择器。如果存在多个满足选择器的元素,将使用第一个。 |
| options | object | null | |
| options.state | string | visible | 可以是 attached、detached、visible 或 hidden。更多详情请参阅 元素状态。 |
| options.strict | boolean | false | 当为 true 时,调用要求选择器解析为单个元素。如果给定选择器解析为多个元素,则调用会抛出异常。 |
| options.timeout | number | 30000 | 最大毫秒数。传递 0 可禁用超时。默认值会被 BrowserContext 或 Page 上的 setDefaultTimeout 选项覆盖。 |
元素状态
元素状态可以是以下任意一种:
'attached'- 等待元素出现在 DOM 中。'detached'- 等待元素从 DOM 中移除。'visible'- 等待元素具有非空边界框且没有visibility:hidden样式。'hidden'- 等待元素从 DOM 中移除,或者具有空边界框或visibility:hidden样式。
返回值
| 类型 | 描述 |
|---|---|
Promise<ElementHandle | null> | 当找到匹配元素时,返回一个 Promise,该 Promise 解析为 ElementHandle;如果未找到元素,则返回 null。 |
示例
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');
}

