A powerful and flexible Python bot to automate job applications on the France Travail website using the Playwright library.
Easily customizable to apply for any job title or location.
- ✅ Automated Applications – Log in once and let the bot handle the rest.
- 🎯 Smart Filtering – Skips jobs requiring experience by checking for numbers in the “skills” section.
- 🍪 Persistent Login – Saves your session with
auth.json
, no need to log in every time. - 📄 Pagination Support – Automatically clicks “Show More” to load all job listings.
- 🧠 Duplicate Detection – Skips jobs you've already applied to.
- 🔧 Custom Search Support – Modify a single URL to target your desired roles or locations.
Use this script at your own risk.
- Terms of Service Violation: Automating France Travail likely violates their terms and may result in account suspension.
- Ethical Concerns: Mass-applying may hurt your credibility. Personalized applications are more effective.
- No Warranty: France Travail’s website may change. You may need to update the script manually if selectors break.
- Python 3.8+
- Git (or download the repo ZIP manually)
- Playwright
# Clone this repo
git clone https://github.com/catsmoker/France-Travail-Job-Automator.git
cd Saisonnier-Job-Bot
# Create and activate virtual environment
python -m venv .venv
# Windows
.venv\Scripts\activate
# macOS/Linux
source .venv/bin/activate
# Install dependencies
echo playwright > requirements.txt
pip install -r requirements.txt
# Install Playwright browsers
playwright install
Run this once to save your session:
python save_state.py
- A browser window will open.
- Log in to your France Travail account manually.
- Once logged in, close the window.
auth.json
will be created — this file stores your session.
- Go to France Travail and perform a search manually.
- Copy the full search URL from your browser.
- Open
job_automator.py
and replace this line:
search_url = "https://candidat.francetravail.fr/offres/recherche?motsCles=Saisonnier&offresPartenaires=true&rayon=10&tri=0"
python job_automator.py
The bot will:
- Load your saved session.
- Fetch job listings from your custom URL.
- Apply automatically if the job doesn’t require experience.
Issue | Fix |
---|---|
🔍 Element not found | Update CSS selectors using browser DevTools |
🔓 Not logging in | Delete auth.json , re-run save_state.py |
❌ Errors on start | Ensure Playwright and browsers are installed correctly |