Open source


Taps the element.

options.forcebooleanfalseSetting this to true will bypass the actionability checks (visible, stable, enabled).
options.modifiersstring[]nullAlt, Control, Meta or Shift modifiers keys pressed during the action. If not specified, currently pressed modifiers are used.
options.noWaitAfterbooleanfalseIf set to true and a navigation occurs from performing this action, it will not wait for it to complete.
options.positionobjectnullA point to use relative to the top left corner of the element. If not supplied, a visible point of the element is used.
options.position.xnumber0The x coordinate.
options.position.ynumber0The y coordinate.
options.strictbooleanfalseWhen true, the call requires selector to resolve to a single element. If given selector resolves to more than one element, the call throws an exception.
options.timeoutnumber30000Maximum time in milliseconds. Pass 0 to disable the timeout. Default is overridden by the setDefaultTimeout option on BrowserContext or Page.
options.trialbooleanfalseSetting this to true will perform the actionability checks without performing the action.


Promise<void>A Promise that fulfills when the tap action is finished.


import { browser } from 'k6/experimental/browser';

export const options = {
  scenarios: {
    browser: {
      executor: 'shared-iterations',
      options: {
        browser: {
          type: 'chromium',

export default async function () {
  const page = browser.newPage({
    hasTouch: true,

  await page.goto('');
  const el = page.$('#numbers-options');
  await el.tap();