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');
}