Menu
Choose a product
Viewing: v1.7.x (latest)
Find another version
Scroll for more
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.
| Parameter | Type | Default | Description |
|---|---|---|---|
| selector | string | '' | A selector to search for an element. If there are multiple elements satisfying the selector, the first will be used. |
| key | string | '' | 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. |
| options | object | null | |
| options.delay | number | 0 | Milliseconds to wait between keydown and keyup. |
| options.noWaitAfter | boolean | false | If set to true and a navigation occurs from performing this action, it will not wait for it to complete. |
| options.strict | boolean | false | When 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.timeout | number | 30000 | Maximum time in milliseconds. Pass 0 to disable the timeout. Default is overridden by the setDefaultTimeout option on
BrowserContext or
Page. |
Returns
| Type | Description |
|---|---|
Promise<void> | A Promise that fullfils when the press action is finished. |
Example
JavaScript
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');
}Was this page helpful?
Related resources from Grafana Labs
Additional helpful documentation, links, and articles:
Video

Performance testing and observability in Grafana Cloud
Optimize user experiences with Grafana Cloud. Learn real-time insights, performance testing with k6, and continuous validation with Synthetic Monitoring.
Events

User-centered observability: load testing, real user monitoring, and synthetics
Learn how to use load testing, synthetic monitoring, and real user monitoring (RUM) to understand end users' experience of your apps. Watch on demand.