菜单
开源

click([options])

警告

请改为使用 locator.click([选项])

在选定的元素上进行鼠标点击。

参数类型默认值描述
options对象null可选参数。
options.button字符串left操作过程中使用的鼠标按钮(left, middleright)。
options.clickCount数字1执行操作的次数。
options.delay数字0mousedownmouseup 之间等待的毫秒数。
options.force布尔值false将其设置为 true 将绕过可操作性检查(visible, stable, enabled)。
options.modifiers字符串数组null操作过程中按下的 AltControlMetaShift 修改键。如果未指定,则使用当前按下的修改键。
options.noWaitAfter布尔值false如果设置为 true 且执行此操作导致页面导航,则不会等待其完成。
options.position对象null相对于元素左上角的点。如果未提供,则使用元素的可见点。
options.position.x数字0X 坐标。
options.position.y数字0Y 坐标。
options.timeout数字30000最大毫秒数。传入 0 禁用超时。默认值会被 BrowserContextPage 上的 setDefaultTimeout 选项覆盖。
options.trial布尔值false将其设置为 true 将执行可操作性检查而不实际执行操作。

返回值

类型描述
Promise<void>一个在点击操作完成后实现的 Promise。

示例

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

  const button = await page.$('#counter-button');
  await button.click();

  await page.close();
}

当点击操作导致页面导航时,请记住使用 Promise.all()page.waitForNavigation() 来正确处理异步操作。

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

  const messagesLink = await page.$('a[href="/my_messages.php"]');

  await Promise.all([
    page.waitForNavigation(),
    messagesLink.click()
  ]);

  await page.close();
}