Built by: Yash Sharma (connect@yashsharma.ai) Organization: Yash, Yash_Personal_openSource Copyright: Β© 2025 Yash (Yash_Personal_openSource). All rights reserved.
This Chrome extension enables visual web element recording for Snowboard RPA Studio. It highlights elements on hover and captures their CSS selectors when clicked.
β¨ Visual Highlighting - See exactly what element you're selecting with a blue border and tooltip
π― Smart Selector Generation - Automatically generates optimal CSS selectors (ID, name, class, xpath)
π΄ Recording Indicator - Always know when recording is active
π¬ Native Messaging - Communicates with Snowboard Studio in real-time
β‘ Fast & Lightweight - Minimal performance impact on web pages
π Fixed Extension ID - Same ID on all systems (bnmmibpojeaadjmaijopfpcbokiblcbm) - no manual configuration!
-
Run the installer:
.\install.ps1
-
Follow the on-screen instructions to load the extension in Chrome
- Open Chrome and navigate to
chrome://extensions/ - Enable "Developer mode" (toggle in top-right corner)
- Click "Load unpacked"
- Select this folder:
C:\Users\yashs\Documents\SnowBoard\ChromeExtension - β
Done! The extension has a fixed ID (
bnmmibpojeaadjmaijopfpcbokiblcbm) that works on all systems
Note: The extension uses a cryptographic key to ensure the same Extension ID on every system. No manual configuration needed!
- Click the Snowboard extension icon in Chrome toolbar
- Click "π΄ Start Recording"
- Hover over elements on the page - they will highlight in blue
- Click elements to record them
- Click "βΉ Stop Recording" when done
- Open Snowboard Studio
- Click "Start Recording" button
- Switch to Chrome and interact with your web page
- Elements will be recorded automatically
- Click "Stop Recording" in Studio
βββββββββββββββββββ ββββββββββββββββββββ ββββββββββββββββββββ
β Chrome Page β ββββββ> β Content Script β ββββββ> β Background.js β
β (Website) β β (Highlighter) β β (Event Handler) β
βββββββββββββββββββ ββββββββββββββββββββ ββββββββββββββββββββ
β
β Native
β Messaging
βΌ
ββββββββββββββββββββ
β Snowboard. β
β NativeMessaging β
β (Bridge) β
ββββββββββββββββββββ
β
βΌ
ββββββββββββββββββββ
β Snowboard β
β Studio β
ββββββββββββββββββββ
The extension generates selectors in this priority order:
- ID -
#elementId(highest priority, most stable) - Name attribute -
input[name="username"] - Class combinations -
button.primary.submit - Type attribute -
input[type="email"] - ARIA label -
button[aria-label="Submit"] - Data attributes -
div[data-testid="login"] - XPath with nth-child -
div > form > button:nth-child(2)
ChromeExtension/
βββ manifest.json # Extension configuration
βββ content.js # Page interaction & highlighting
βββ content.css # Highlight styles
βββ background.js # Event handling & native messaging
βββ popup.html # Extension popup UI
βββ popup.js # Popup logic
βββ icons/ # Extension icons
βββ install.ps1 # Automated installer
βββ com.Yash.snowboard.recorder.json # Native messaging manifest
βββ README.md # This file
- Make sure recording is started (red indicator should show)
- Refresh the web page after starting recording
- Check Chrome console for errors (F12 β Console tab)
- Verify the manifest path in Registry:
HKEY_CURRENT_USER\Software\Google\Chrome\NativeMessagingHosts\com.Yash.snowboard.recorder - Run
.\setup-native-host.ps1to register the native messaging host - The Extension ID is fixed:
bnmmibpojeaadjmaijopfpcbokiblcbm(same on all systems) - Check logs at:
%LOCALAPPDATA%\Snowboard\Logs\native-messaging.log
- Check that Snowboard Studio is running
- Verify native messaging host is built:
Snowboard.NativeMessaging.exe - Review extension console: right-click extension icon β "Inspect popup"
To modify the extension:
- Edit the source files
- Go to
chrome://extensions/ - Click the reload icon for Snowboard RPA Recorder
- Test your changes
- β All data stays local (no external communication)
- β Only active when explicitly recording
- β Requires user permission to access web pages
- β Native messaging uses stdio (secure channel)
- β Built with enterprise security in mind
Proprietary and Confidential Copyright Β© 2025 Yash (Yash_Personal_openSource). All rights reserved.
This software is the property of Yash (Yash_Personal_openSource) and is protected by copyright law. Unauthorized copying, distribution, modification, or use is strictly prohibited.
Author: Yash Sharma Title: Sr AI/ML Engineer Organization: Yash, Yash_Personal_openSource Email: connect@yashsharma.ai