Menu
Documentationbreadcrumb arrow Grafana k6breadcrumb arrow JavaScript APIbreadcrumb arrow k6/browserbreadcrumb arrow Pagebreadcrumb arrow press(selector, key[, options])
Open source

press(selector, key[, options])

Warning

Use locator-based locator.press() instead.

Focuses the element, and then uses keyboard.down(key) and keyboard.up(key).

A superset of the key values can be found here.

Following modification shortcuts are also supported: Shift, Control, Alt, Meta, ShiftLeft.

Holding down Shift will type the text that corresponds to the key in the upper case.

If key is a single character, it is case-sensitive, so the values a and A will generate different respective texts.

Shortcuts such as key: "Control+o" or key: "Control+Shift+T" are supported as well. When specified with the modifier, modifier is pressed and being held while the subsequent key is being pressed.

ParameterTypeDefaultDescription
selectorstring''A selector to search for an element. If there are multiple elements satisfying the selector, the first will be used.
keystring''Name of the key to press or a character to generate, such as ArrowLeft or a. A superset of the key values can be found here.
optionsobjectnull
options.delaynumber0Milliseconds to wait between keydown and keyup.
options.noWaitAfterbooleanfalseIf set to true and a navigation occurs from performing this action, it will not wait for it to complete.
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.

Returns

TypeDescription
Promise<void>A Promise that fullfils when the press action is finished.

Example

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');
  await page.press('#text1', 'Tab');
}