Remarque : ce projet n'est plus mis à jour car j'ai quitté l'école, veuillez l'utiliser
Sparx-Bookwork-Code est un projet sur lequel je travaille depuis environ un an (principalement comme passe-temps et parce que je suis paresseux).
Il s'agit d'un grattoir Web permettant d'enregistrer les codes Bookwork pour Sparx et de compléter automatiquement les vérifications Bookwork (expliquées ici). Il utilise le pilote Chrome (Google Chrome) et maintenant geckodriver (Firefox) pour récupérer les valeurs des réponses et des codes. J'utilise Python car c'est mon langage principal et il est assez facile à comprendre.
L'avoir ici peut aider tous ceux qui souhaitent automatiser quelque peu leurs devoirs de mathématiques Sparx. (ou déteste simplement écrire des codes de livres)
Ceci est principalement dédié à Chrome (même si j'ai une version Firefox). Les autres navigateurs Web demandent trop de travail pour être tenus à jour, alors assurez-vous que Chrome est installé. Une fois Chrome installé, vous devez déterminer de quelle version il s'agit (Chromedriver est très pointilleux sur les versions).
Tout d’abord, accédez aux trois points en haut à droite. puis allez dans Paramètres > À propos de Chrome (c'est en bas) et regardez la version.
Alors allez ici et téléchargez la version dont vous disposez.
Ensuite, cliquez ici. Cela devrait télécharger le reste des fichiers dont vous avez besoin.
Votre dossier devrait ressembler à ceci. Maintenant, exécutez le fichier.exe appelé "BWK-CHROME. Windows peut générer une erreur, cliquez simplement sur "Plus d'informations". > Exécutez quand même (si vous ne pensez pas que le code est sûr, vous pouvez le consulter). ici)
Tapez les détails et vous avez terminé. Chrome devrait s'ouvrir et vos codes de livres devraient être enregistrés pour vous.
Si vous pouvez prendre la peine de lire mon code. Vous remarquerez peut-être le nombre d'essais : et sauf s'il y en a, c'est à cause de Selenium Webdriver .
Pour une raison quelconque, Selenium plantera s'il ne trouve pas un élément. Cela signifie que pour éviter de planter, je dois utiliser des try-saufs, comme ceci :
try :
kp = driver . find_element_by_class_name ( 'number-input' )
if kp . get_attribute ( "value" ) != "" :
log ( "[BWK] " + BWK . text + " [ANSWER] " + kp . get_attribute ( "value" ))
except :
Et... lorsque je vérifie plusieurs éléments, le résultat est de nombreux essais-sauf.
J'utilise principalement Linux, mais lorsque j'ai développé ceci, j'utilisais encore principalement Windows, où j'utilisais principalement Chrome. Lors du passage à Linux, j'ai commencé à utiliser principalement Firefox. Ainsi, au lieu d'avoir deux navigateurs installés, j'ai commencé le développement sur une version Firefox de Sparxbwk . Semblable à Chrome et Chromedriver, Firefox possède un geckodriver, d'où le nom gecko. Si vous envisagez d'utiliser cet outil, je vous suggère d'utiliser Chrome, car il est généralement dans un meilleur état que Gecko. J'ai tendance à tester des éléments et des fonctionnalités sur la version Firefox plutôt que sur Chrome, mais les deux devraient fonctionner.