Script automatique permettant de réserver une place sur la plateforme du permis de conduire candilib
Je n'encourage pas l'utilistation de robots sur la plateforme officiel de candilib, ce script est avant tout à but instructif.
_Python3
_Google chrome
pip install selenium
pip install opencv-python
pip install pytesseract
_Télécharger chromedriver : https://chromedriver.chromium.org/ et préciser le path du .exe (voir Configuration)
Besoin de telecharger l'installer pour pytesseract : https://github.com/UB-Mannheim/tesseract/wiki et de préciser le path du fichier .exe (voir Configuration)
sudo apt install tesseract-ocr
sudo apt install libtesseract-dev
sudo apt install sox
sudo port install sox
Ligne 15 : Sous Windows, entrer le chemin absolue du fichier .exe pytesseract, sous autres OS, supprimer la ligne.
Ligne 24 : Entrer chemin absolue du fichier .exe chromedriver.
Ligne 32 : Après chaque tour infructueux, le programme s'interrompt pendant X à Y secondes
Ligne 253 : Intégrer l'instruction en enlevant le signe "#" à la ligne
Ligne 252 : Effacer la ligne d'instruction
Ligne 4,5,6 : Correspond à la valeur transmise à la fonction sleep(), il s'agit du temps de pause en seconde entre chaque actions sur l'application nécessitant un chargement de la page.
Ligne 17 : Coller le lien de connexion dans la variable log_link
Ligne 18 : Dans la variable dict_dep sont référencés les departements qui seront traités pour la recherche de
place. La valeur pour chaque departement est son chemin XPATH sous Google Chrome. Ajouter ou supprimer des lignes en fonction de vos préférences.
Ligne 25 : Dans la variable matrix_dep_centre sont référencés les centres qui seront traités pour la recherche de
place. L'ordre défini pour les départements doit être le même que pour dict_dep. La valeur pour chaque centre est son chemin XPATH sous Google Chrome. Ajoutez ou supprimez des lignes en fonction de vos préférences.
python -i .\bot.py
>>> Bot()
Vous pouvez laisser tourner le programme en fond et faire autre chose sur votre machine.
Le programme peut en théorie résoudre le captcha nécessaire à la réservation d'une place, cependant s'il échoue vous serez avertit par un bip sonore qui vous avertira que le programme a selectionné une date et un horaire, mais qu'il est incapable de résoudre le captcha. Dans ce cas, ce sera a vous de résoudre manuellement le captcha pour confirmer votre place.