A comprehensive web automation toolkit consisting of a visual workflow builder and a Chrome extension for element selection. This project enables users to create, test, and execute web automation workflows through an intuitive drag-and-drop interface.
- Drag-and-Drop Interface: Create automation workflows using visual blocks
- Real-time Testing: Test workflows with live simulation and debugging
- Multiple Action Types: Support for navigation, interaction, data extraction, and logic operations
- Export/Import: Save and load workflow configurations as JSON files
- Dark/Light Theme: Responsive design with theme switching
- Smart Element Selection: Advanced CSS selector generation with multiple fallback strategies
- Multi-language Support: Available in English and Vietnamese
- One-Click Copying: Automatically copy selectors to clipboard
- Element Highlighting: Visual feedback during element selection
- Cross-tab Communication: Seamless integration with the workflow builder
Automation-tool/
βββ toolkit/
β βββ index.html # Main workflow builder application
βββ extension/
βββ manifest.json # Chrome extension manifest
βββ popup.html # Extension popup interface
βββ popup.js # Popup logic and controls
βββ content.js # Content script for element selection
βββ content.css # Styling for element highlighting
βββ background.js # Extension background service worker
βββ lang.js # Internationalization support
βββ tutorial.html # User tutorial and documentation
βββ icons/ # Extension icons
- Open Chrome and navigate to
chrome://extensions/ - Enable "Developer mode" in the top right corner
- Click "Load unpacked" and select the
extensionfolder - The Element Selector Tool will appear in your extensions toolbar
- Open the
toolkit/index.htmlfile in any modern web browser - No additional installation required - it's a standalone web application
- Start Building: Open the workflow builder and drag action blocks from the left sidebar
- Configure Actions: Select blocks to configure their properties in the right panel
- Connect Blocks: Drag from output ports to input ports to create workflow connections
- Test Workflow: Use the Test button to simulate your workflow execution
- If Condition: Conditional branching based on variables or expressions
- For Each Loop: Iterate over arrays or repeat actions multiple times
- Set Variable: Store and manipulate data during workflow execution
- Stop: Terminate workflow execution
- Comment: Add documentation to your workflows
- Go to URL: Navigate to specific web pages
- Reload Page: Refresh the current page
- Go Back: Navigate to previous page in history
- Go Forward: Navigate to next page in history
- Click: Click on elements (left, right, or double-click)
- Fill Input: Enter text into form fields
- Clear Input: Remove text from input fields
- Set Checkbox: Check or uncheck checkbox elements
- Select Dropdown: Choose options from dropdown menus
- Hover: Move mouse over elements
- Press Key: Send keyboard input to elements
- Upload File: Handle file upload operations
- Wait Timeout: Pause execution for specified duration
- Wait for Element: Wait until specific elements appear on the page
- Get Text: Extract text content from elements
- Get Attribute: Retrieve HTML attributes from elements
- Get Input Value: Extract values from form inputs
- Screenshot: Capture page or element screenshots
- Assert Visible: Verify elements are displayed
- Assert Text: Verify elements contain expected text
- Activate Extension: Click the Element Selector Tool icon in Chrome
- Start Selection: Click "Start" to enter selection mode
- Select Elements: Click on any page element to generate and copy its CSS selector
- View Results: The selector is automatically copied to your clipboard
- Stop Selection: Click "Stop" to exit selection mode
- Create a workflow in the builder with actions that need element selectors
- Use the "crosshairs" button next to selector fields to open the element selection tool
- The tool will open the target URL in a new tab for element selection
- Follow the guided instructions to select elements and copy selectors
- Paste the selectors back into your workflow configuration
The extension uses multiple strategies to generate reliable selectors:
- ID-based selectors (highest priority)
- Class-based selectors with context awareness
- Data attribute selectors for test automation
- Structural selectors with nth-child positioning
- Full CSS path as fallback
- Pan: Hold Space + drag or middle-click drag to pan around the canvas
- Zoom: Ctrl + scroll wheel to zoom in/out
- Select: Click on blocks to view/edit properties
- Connect: Drag from output ports (right side) to input ports (left side)
- Real-time workflow execution simulation
- Step-by-step action logging
- Visual highlighting of currently executing blocks
- Error detection and infinite loop prevention
- Chrome Extension: Chrome, Edge, and other Chromium-based browsers
- Workflow Builder: All modern browsers with ES6+ support
- Extension settings stored in Chrome's local storage
- Workflows can be exported as JSON files for backup and sharing
- No external servers required - everything runs locally
- Content scripts run in isolated environments
- No data transmission to external servers
- Minimal permissions required for extension functionality
The Chrome extension follows Manifest V3 specifications:
- Service worker for background processing
- Content scripts for page interaction
- Popup interface for user controls
- Vanilla JavaScript with modern ES6+ features
- Canvas-based node editor with SVG connections
- Modular action system for easy extensibility
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly with both components
- Submit a pull request with detailed description
This project is open source. Please refer to the license file for more details.
For issues, questions, or feature requests:
- Check the tutorial.html file in the extension folder for detailed usage instructions
- Review the built-in help and tooltips in the applications
- Submit issues through the project repository
- v1.0: Initial release with core functionality
- Visual workflow builder with drag-and-drop interface
- Chrome extension for element selection
- Multi-language support (English/Vietnamese)
- Import/export capabilities
- Real-time workflow testing
Built with β€οΈ for web automation enthusiasts
