click(selector[, options])
警告
请改用基于 locator 的
locator.click([options])
。
此方法点击与 selector
匹配的元素。
参数 | 类型 | 默认值 | 描述 |
---|---|---|---|
selector | string | '' | 用于搜索元素的 selector。如果存在多个满足 selector 的元素,将使用第一个。 |
options | object | null | |
options.button | string | left | 操作期间使用的鼠标按钮(left 、middle 或 right )。 |
options.clickCount | number | 1 | 执行操作的次数。 |
options.delay | number | 0 | mousedown 和 mouseup 之间等待的毫秒数。 |
options.force | boolean | false | 将其设置为 true 将绕过可操作性检查(可见 、稳定 、启用 )。 |
options.modifiers | string[] | null | 操作期间按下的 Alt 、Control 、Meta 或 Shift 修饰键。如果未指定,则使用当前按下的修饰键。 |
options.noWaitAfter | boolean | false | 如果设置为 true 并且执行此操作导致导航发生,则不会等待其完成。 |
options.position | object | null | 相对于元素左上角的点。如果未提供,则使用元素的可见点。 |
options.position.x | number | 0 | x 坐标。 |
options.position.y | number | 0 | y 坐标。 |
options.strict | boolean | false | 当为 true 时,调用要求 selector 解析为单个元素。如果给定的 selector 解析为多个元素,则调用会抛出异常。 |
options.timeout | number | 30000 | 最大毫秒数。传递 0 以禁用超时。默认值会被 BrowserContext 或 Page 上的 setDefaultTimeout 选项覆盖。 |
options.trial | boolean | false | 将其设置为 true 将执行可操作性检查,但不执行实际操作。这对于等待元素准备好进行操作但又不实际执行操作时非常有用。 |
返回值
类型 | 描述 |
---|---|
Promise<void> | 一个在点击操作完成后 fulfill 的 Promise。 |
示例
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.click('#counter-button');
}
当点击操作导致页面导航时,请记住使用 page.waitForNavigation()
来正确处理异步操作。
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/');
await Promise.all([page.waitForNavigation(), page.click('a[href="/my_messages.php"]')]);
}