“Your friendly friend in modern web automation and testing.”
Webfriend is a Python library and command-line utility that integrates with the Chrome DevTools Protocol to control a Google Chrome or Chromium browser instance. There is also a purpose-built scripting language (called Friendscript) that is designed to be an easy-to-learn alternative to Python for writing simple or complex browser automation scripts.
Take full-page screenshots of web pages.
Automate tedious or repetitive tasks on web pages that otherwise would require extensive user input with a keyboard, mouse, or touchscreen device.
Execute pre-defined tests against web pages and serve as an automated testing framework for verifying frontend functionality.
Automatically login to websites with complex authentication flows.
Extract (i.e. scrape) information from web pages and present it in a structured way that other languages and scripts can use as input.
Webfriend by default operates using Headless Chrome mode, but can also just as easily run Chrome in the foreground in a graphical environment. Importantly, headless operation allows you to run Webfriend on servers without running
X11. In this sense, it operates as a potentially-faster alternative to phantomjs or Selenium while also providing almost all of the capabilities of the complete Google Chrome/Chromium browser.
Using Friendscript, straightforward and composable scripts can be written and combined together to create fast, modular, and flexible processes that can be used to solve real problems.
git clone https://github.com/ghetzel/webfriend.git cd webfriend # Three Options: # 1. user-level package install python setup.py install --user # 2. system-level package install python setup.py install # 3. local environment, invoke with `./env/bin/webfriend` make
Friendscript (Web Automation Scripting Language)