A powerful visual browser automation platform for recording interactions and automating data extraction through intelligent session replay.
- 🎥 Visual Recording: Record your browser interactions in real-time
- 🎯 Element Selection: Visually select DOM elements for data extraction
- 🔄 Automated Replay: Replay sessions in headless mode for data scraping
- ⏰ Scheduling: Set up periodic scraping with customizable intervals
- 📊 Dashboard: Modern RecordScape web interface for managing sessions and schedules
- 💾 Data Export: Export scraped data in JSON/CSV formats
▶ Full video:
https://twitter.com/Shubh3m/status/2027349108256887131
Record once → Automate forever.
┌─────────────────────────────────────────────────────────┐
│ RecordScape Web Dashboard │
│ (Flask + HTML/CSS/JS) │
└─────────────────┬───────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────┐
│ Flask API Server │
│ /api/sessions, /api/schedules, /api/data │
└────┬────────────────────────────────────────────┬───────┘
│ │
▼ ▼
┌─────────────────┐ ┌──────────────────┐
│ Recorder │ │ Replayer │
│ (Selenium UI) │ │ (Headless) │
└────┬────────────┘ └────┬─────────────┘
│ │
▼ ▼
┌─────────────────────────────────────────────────────────┐
│ Storage Layer (SQLite) │
│ Sessions, Schedules, Extracted Data │
└─────────────────────────────────────────────────────────┘
- Clone the repository:
git clone <repository-url>
cd RecordBrowser- Install dependencies:
pip install -r requirements.txt- Run the application:
python app.py- Open your browser to
http://localhost:5000
- Click "Record New Session" in the dashboard
- Enter the URL you want to scrape
- Browser opens - perform your actions (navigate, click, scroll)
- Use the visual selector overlay to mark elements for extraction
- Click "Stop Recording" to save the session
- Find your session in the "Saved Sessions" section
- Click "Replay" to run it once manually
- Extracted data appears in "Data Exports"
- Download as JSON or CSV
- Click "Schedule" on any saved session
- Set the frequency (minutes, hours, days)
- The scheduler automatically runs the session and saves data
- View scheduled jobs in the "Schedules" section
RecordBrowser/
├── app.py # Flask application & API
├── vpr/ # Visual Page Recorder package
│ ├── __init__.py
│ ├── recorder.py # Session recording engine
│ ├── replayer.py # Headless replay engine
│ ├── storage.py # Database management
│ └── scheduler.py # Background job scheduler
├── static/
│ ├── css/
│ │ └── style.css # Dashboard styles
│ └── js/
│ └── app.js # Dashboard JavaScript
├── templates/
│ └── index.html # Dashboard HTML
└── requirements.txt
- Backend: Python, Flask, Selenium WebDriver
- Frontend: HTML5, CSS3, Vanilla JavaScript
- Database: SQLite
- Scheduling: APScheduler
- Browser Automation: Selenium + WebDriver Manager
MIT