Hinweis: Dieses Projekt wird nicht mehr aktualisiert, da ich die Schule verlassen habe. Bitte verwenden Sie dieses
Sparx-Bookwork-Code ist ein Projekt, an dem ich seit etwa einem Jahr arbeite (hauptsächlich als Hobby und weil ich faul bin).
Es handelt sich um einen Web-Scraper zum Protokollieren von Bookwork-Codes für Sparx und zum automatischen Vervollständigen von Bookwork-Prüfungen (hier erklärt). Es verwendet den Chrome-Treiber (Google Chrome) und jetzt den Geckodriver (Firefox), um die Werte von Antworten und Codes zu erfassen. Ich verwende Python als meine Hauptsprache und es ist ziemlich einfach zu verstehen.
Wenn Sie es hier haben, kann es jedem helfen, der seine Sparx-Mathe-Hausaufgaben etwas automatisieren möchte. (oder hasst es einfach, Bucharbeitscodes zu schreiben)
Dies ist hauptsächlich Chrome gewidmet (obwohl ich eine Firefox-Version habe). Bei anderen Webbrowsern ist es zu aufwändig, sie auf dem neuesten Stand zu halten. Stellen Sie daher sicher, dass Chrome installiert ist. Sobald Chrome installiert ist, müssen Sie herausfinden, um welche Version es sich handelt (Chromedriver ist sehr wählerisch, was Versionen angeht).
Navigieren Sie zunächst zu den drei Punkten oben rechts. Gehen Sie dann zu Einstellungen > Über Chrome (unten) und sehen Sie sich die Version an.
Dann gehen Sie hierher und laden Sie die Version herunter, die Sie haben.
Klicken Sie als Nächstes hier. Dadurch sollten die restlichen benötigten Dateien heruntergeladen werden.
Ihr Ordner sollte etwa so aussehen. Führen Sie nun die.exe mit dem Namen „BWK-CHROME“ aus. Windows zeigt möglicherweise einen Fehler an. Klicken Sie einfach auf „Weitere Informationen“. > Führen Sie ihn trotzdem aus (wenn Sie der Meinung sind, dass der Code nicht sicher ist, können Sie ihn sich ansehen Hier)
Geben Sie die Details ein, und schon sind Sie fertig. Chrome sollte sich öffnen und Ihre Buchhaltungscodes sollten für Sie protokolliert werden.
Wenn Sie sich die Mühe machen, meinen Code zu lesen. Sie werden vielleicht bemerken, wie viele Versuche es gibt: Und wenn es Ausnahmen gibt, liegt das am Selenium Webdriver .
Aus irgendeinem Grund stürzt Selenium ab, wenn ein Element nicht gefunden wird. Das bedeutet, dass ich, um einen Absturz zu vermeiden, Try-Exceptions verwenden muss, etwa so:
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 :
Und... wenn ich nach mehreren Elementen suche, sind das Ergebnis viele Try-Exceptions.
Ich verwende hauptsächlich Linux, aber als ich das entwickelte, habe ich immer noch hauptsächlich Windows verwendet, während ich hauptsächlich Chrome verwendet habe. Als ich zu Linux wechselte, begann ich hauptsächlich mit Firefox. Anstatt also zwei Browser zu installieren, begann ich mit der Entwicklung einer Firefox- Version von Sparxbwk . Ähnlich wie Chrome und Chromedriver verfügt Firefox über einen Gecko-Treiber, daher der Name Gecko. Wenn Sie dieses Tool verwenden möchten, empfehle ich die Verwendung von Chrome, da dieses im Allgemeinen in einem besseren Zustand ist als Gecko. Ich teste Dinge und Funktionen eher mit der Firefox-Version als mit Chrome, aber beide sollten funktionieren.