Clicking
Clicking is the default way of selecting and activating elements on web pages, and will appear very often in most headless scripts.basic-click.spec.ts
await page.click('#login', { force: true })
to force the click even if the selected element appears not to be accessibleawait page.$eval('#login', elem => elem.click())
to run the click inside the webpageawait page.dispatchEvent('#login', 'click')
to directly dispatch the click event on the element
Hovering
A popular pattern among web pages is exposing additional information or functionality when the user hovers the mouse cursor over a specific item. Examples include, menus, previews and dialogs containing extra information on the item.basic-hover.spec.ts
Focussing
Focussing on specific UI elements allows the user to interact with them without clicks. It can also result in a proactive reaction from the webapp, such as displaying suggestions.basic-focus.spec.ts
Typing
We can simulate typing on a real keyboard usingpage.type()
:
basic-type.spec.ts
- Playwright:
await page.press('Enter')
await (await page.$('input[type="text"]')).press('Enter')
We can also hold down and release one or more keys, possibly combining them to use keyboard shortcuts:
Further reading
- The related official documentation of Playwright
- Finding effective selectors