Playwright is a Node.js library to automate Chromium, Firefox and WebKit with a single API. Playwright is built to enable cross-browser web automation that is ever-green, capable, reliable and fast. 
Headless execution is supported for all the browsers on all platforms. Check out system requirements for details.
Usage
npm i -D playwright
This installs Playwright and browser binaries for Chromium, Firefox and WebKit. Once installed, you can require Playwright in a Node.js script and automate web browser interactions.
Capabilities
Playwright is built to automate the broad and growing set of web browser capabilities used by Single Page Apps and Progressive Web Apps.
- Scenarios that span multiple page, domains and iframes
 - Auto-wait for elements to be ready before executing actions (like click, fill)
 - Intercept network activity for stubbing and mocking network requests
 - Emulate mobile devices, geolocation, permissions
 - Support for web components via shadow-piercing selectors
 - Native input events for mouse and keyboard
 - Upload and download files
 
