Mascot

Hello! This is NAVA.

Your tool for automating tasks in your web browser.

NAVA will help you:
  • Track and collect data from web pages
  • Automate clicks, data entry, and navigation
  • Set up scripts to control the browser
  • Integrate results with other services
Learn More
Download for Linux
Latest version: 0.9.0-alpha Download
Download for Windows
Latest version: 0.9.0-alpha
Download for macOS
Latest version: 0.9.0-alpha

šŸ’” What is NAVA?

NAVA is a declarative wrapper for browser automation based on Playwright.

It lets you quickly create flexible scripts in a simple and clear JSON-based .nava format, without the need to write code. For most tasks, a declarative description is enough, but you can also add JavaScript snippets to extend functionality and perform advanced operations when needed.

šŸ› ļø Playwright

To work with browsers, NAVA uses Playwright. The first time you run NAVA, it will automatically check for required browser engines and offer to install them if they are missing. No manual setup is needed.

šŸš€ Installation and Launch

  • Download the NAVA archive for your operating system.
  • Extract the archive to a convenient location on your computer.
  • Run NAVA from the command line as shown in the examples below.

Linux / macOS
./nava test.nava
Windows
nava.exe test.nava

The file test.nava is a sample basic script. It is included in the program archive.

šŸ“‹ test.nava
{
  "environment": {
    "browser": "chromium"
  },
  "context": {
    "targets": [
      {
        "url": "https://google.com",
        "name": "Google"
      }
    ]
  },
  "flow": [
    {
      "action": "Navigate",
      "preJs": {
        "inline": "console.log('Before step in browser!')"
      },
      "postJs": {
        "inline": "window._navaStore.flow['pageTitle'] = document.title;"
      }
    },
    {
      "action": "log",
      "message": "The page title captured via PreHostJs: {flow:pageTitle}",
      "style": "bold green"
    }
  ]
}
What does this script do?

Step 1: Output to NAVA console before navigation

Logs a message to the console 'Before step in browser!'.

Step 2: Navigate to Google

Opens google.com.

Step 3: Save page title in flow storage

window._navaStore.flow['pageTitle'] = document.title;

Step 4: Print captured page title to NAVA console

Prints the saved title.

šŸ·ļø Versions
Version
Linux
Windows
macOS
Date

0.9.0-alpha

18.06.2025

Note from the author: NAVA is an experimental pet project that I’m building out of personal interest and for skill development.
I’m not a professional developer, so you may find some unconventional solutions here. Feedback and suggestions are always welcome!

šŸ“„ Site updated: 17.06.2025 00:01
An unhandled error has occurred. Reload šŸ—™