Automate your job application process on Dice.com with an easy-to-use web interface. Streamline your job search with one-click applications, intelligent filtering, and real-time status tracking.
- Introduction
- Features
- Installation
- Project Structure
- Configuration
- Usage
- Troubleshooting
- Contributors
- License
- Disclaimer
EasyDiceApply is designed to make the job application process on Dice.com more efficient and less time-consuming. By automating repetitive tasks, it allows job seekers to focus on interview preparation and skill-building rather than filling out forms repeatedly. Built with Python, Selenium, and Flask, this tool includes features such as automatic job searching, one-click application, and real-time status tracking through a user-friendly web interface.
- 🌐 Web-Based Interface: User-friendly UI for easy interaction
- ✅ Automated Login to Dice.com
- 🔍 Customizable Job Search: Allows searching with specific keywords and filters
- 🎯 Intelligent Filtering: Only applies to relevant jobs (e.g., today's job postings, non-third-party listings)
- ⚡ "Easy Apply" Automation: One-click application submission for jobs with Easy Apply
- 🔄 Smart Handling of Previously Applied Jobs: Skips jobs that you've already applied to
- 💡 Shadow DOM Interaction: Interacts with modern web elements, including those hidden in Shadow DOM
- 📊 Real-Time Status: Live tracking of application progress
- 📁 Resume Management: Easy resume upload and handling
EasyDiceApply/
├── README.md
├── requirements.txt
├── config.py
├── main.py
├── ui/
│ ├── app.py
│ ├── static/
│ │ ├── js/
│ │ │ ├── main.js
│ │ │ └── status.js
│ │ └── css/
│ │ └── styles.css
│ └── templates/
│ ├── index.html
│ └── status.html
└── src/
├── automation.py
├── handlers/
│ ├── job_handler.py
│ ├── shadow_dom_handler.py
│ └── search_filter_handler.py
└── utils/
└── webdriver_setup.py
- Python 3.x
- Chrome Browser
- ChromeDriver matching your Chrome version
- Required Python packages listed in
requirements.txt
-
Clone the Repository
git clone https://github.com/Deeraj7/EasyDiceApply.git cd EasyDiceApply -
Install Required Packages
pip install -r requirements.txt
-
Configure Settings Create a
config.pyfile with your settings:SEARCH_SETTINGS = { "max_applications": 10 } RESUME_SETTINGS = { "allowed_extensions": {"pdf", "doc", "docx"}, "max_file_size": 10 * 1024 * 1024 } APP_SETTINGS = { "headless": False, "wait_timeout": 20 }
-
Start the web interface:
python ui/app.py
-
Open your browser and navigate to:
http://localhost:5001 -
In the web interface:
- Upload your resume
- Enter your Dice.com credentials
- Set your job search preferences
- Start the automation
-
Login Issues
- Double-check your credentials
- Ensure your ChromeDriver version matches your installed Chrome browser version
-
Application Process Stalls
- If the bot fails to click "Easy Apply," ensure that the jobs being targeted have the Easy Apply option
- Check if resume upload is successful
-
Shadow DOM Errors
- Ensure the
shadow_dom_handler.pyscript is functioning correctly - Some web elements on Dice might require specific handling
- Ensure the
-
Rate Limiting on Dice
- Dice.com might limit requests if too many actions are performed quickly
- The script includes delays to mimic human behavior, but further customization may be needed
This project is licensed under the MIT License - see the MIT License file for details.
This tool is for educational purposes only. Use responsibly and in accordance with Dice.com's terms of service. The developers are not responsible for any misuse or violation of Dice.com's terms of service.