ANSSI et automatisation de MOOC Secnumacademie avec Selenium
Mis a jours le 13 Apr 2020 à 18:57 · 289 mots · Lecture en 2 minutes
Pour mon école, j’ai eu a faire un MOOC de l’ANSSI.
Or après avoir fait tous les tests du mooc à 100% sans avoir écouté les cours, j’ai décidé de récupérer l’attestation de réussite du MOOC pour le donner à mon école. Mais j’ai eu un message d’erreur:
J’ai donc voulu suivre les cours, mais ils prenaient beaucoup trop de temps à suivre. Voici donc un bot pour suivre les cours de manière semi-automatique:
from selenium import webdriver
import time
user = "REDACTED"
passw = "REDACTED"
def main():
driver = webdriver.Chrome()
driver.get("https://secnumacademie.gouv.fr/")
driver.find_elements_by_id("btn_access_insc")[0].click()
driver.find_elements_by_id("login")[0].send_keys(user)
driver.find_elements_by_id("password")[0].send_keys(passw)
xpath = '/html/body/div[2]/div/div[2]/div/div[1]/div[1]/div[2]/a[1]'
driver.find_elements_by_xpath(xpath)[0].click()
while True:
if input("continue ? [Y/n]") == "n":
exit(0)
driver.switch_to.default_content()
driver.switch_to.frame("DEFAUT")
driver.switch_to.frame("contents")
iframe_id = driver.find_elements_by_id("content")[0].find_elements_by_tag_name("iframe")[0].get_attribute("id")
driver.switch_to.frame(iframe_id)
driver.execute_script("for(var i = 0; i < 15; i++) {document.querySelector('#Stage_menu_inferieur_bouton_suivant_hit').click()}")
if __name__ == '__main__':
main()
Un bot que vous pourrez trouver sur mon repository github.
Il suffit de:
- mettre son username et son password dans les variables
user
etpasswd
. - lancer le bot
- attendre que le bot ait connecté le navigateur
- sélectionner le module, l’unité ainsi que le premier cours
- entrer
Y
quand le bot demande si on veut continuer (étape à répéter tant qu’il y a un sous module à suivre)
En images
Récupérer le code
mkdir mook-hack && cd mook-hack
wget https://raw.githubusercontent.com/tomMoulard/python-projetcs/master/anssi-mooc/mooc.py
Installer les dépendances
sudo apt install -y python3-selenium chromium-chromedriver
Mettre son username/password
$EDITOR +4 mooc.py
Lancer le bot
python3 mooc.py
Sélectionner le module
Sélectionner l’unité
Sélectionner le premier cours
- angry clicking noise *
Entrer Y
y
Upgrades
Dans le futur, on pourrait:
- lire les vidéos
- ne pas faire
Y
pour chaque cours
Conclusion
bla bla bla il faut suivre ses cours
Selenium c’est cool pour automatiser l’utilisation d’un site web
- Se blog a été écrit en réalisant un mooc ANSSI *
L'auteur: Tom Moulard
Depuis mon enfance, je suis captivé par les articles de science et de technologie. Un jour, j'ai décidé de faire partie de ce monde : j'ai pris ma calculatrice programmable (une TI-82 stat).... La suite, sur mon site
Vous avez vu une erreur ? Quelque chose ne va pas ? Vous pouvez contribuer à cette page sur GitHub ou laisser un commentaire en dessous. Merci d'être passé par là :)