Documentation Table of contents Getting Started Installation Usage First script System requirements Debugging scripts Installation parameters Core Concepts Overview Browser Browser contexts Pages and frames Selectors Auto-waiting Execution contexts: Node.js and Browser Object & element handles Input Text input Checkboxes Select options Mouse click Type characters Keys and shortcuts Upload files Focus element Emulation Overview User agent Viewport, color scheme Devices Locale & Timezone Permissions Geolocation Network Overview HTTP Authentication Handle file downloads Network events Handle requests Modify requests Abort requests Assertions Common patterns Element Handles Custom assertions Verification Screenshots Console logs Page errors Page events Navigation and Loading Overview Common scenarios Loading a popup Client-side redirects Navigation after a timeout Multi-page scenarios Multiple contexts Multiple pages Handling new pages Handling popups Test runners Jest / Jasmine AVA Mocha Continuous Integration Docker GitHub Actions Azure Pipelines Travis CI CircleCI AppVeyor Troubleshooting Selector engines Actionability Extensibility Custom selector engines API Reference