注意:由於我已離開學校,該項目不再更新,請使用此
Sparx-Bookwork-Code是我已經工作了大約一年的專案(主要是作為一種愛好,而且因為我很懶)。
它是一個網路爬蟲,用於記錄 Sparx 的 Bookwork 程式碼並自動完成 Bookwork 檢查(在此處解釋)。它使用 chrome 驅動程式 (Google Chrome) 和現在的 geckodriver (Firefox) 來取得答案和程式碼的值。我使用 python,因為它是我的主要語言,而且很容易理解。
擁有它可能會幫助任何想要自動化 Sparx 數學作業的人。 (或只是討厭寫書本程式碼)
這主要專用於 chrome(儘管我有 Firefox 版本)。其他網頁瀏覽器需要花費大量精力才能保持最新狀態,因此請確保您安裝了 Chrome。安裝 Chrome 後,您需要弄清楚它是什麼版本(Chromedriver 對版本非常挑剔)。
首先,導航到右上角的三個點。然後轉到“設定”>“關於 Chrome”(位於底部)並查看版本。
然後轉到此處下載您擁有的版本。
接下來,請點這裡。這應該下載您需要的其餘文件。
您的資料夾應該類似於現在執行名為“BWK-CHROME”的.exe。查看它)這裡)
輸入詳細信息,即可完成。 Chrome 應打開,並應為您記錄您的書籍代碼。
如果您能費心閱讀我的程式碼。您可能會注意到 try: 的數量,但有例外,這是因為Selenium Webdriver 。
由於某些原因,如果 Selenium 找不到元素就會崩潰。這意味著為了避免崩潰,我必須使用 try-excepts,如下所示:
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 :
而且......當我檢查多個元素時,結果是大量的嘗試例外。
我主要使用Linux,但是當我開發這個時,我仍然主要使用Windows,其中主要使用Chrome。當切換到 Linux 時,我開始主要使用 Firefox。因此,我沒有安裝兩個瀏覽器,而是開始在Firefox版本的Sparxbwk上進行開發。與 Chrome 和 Chromedriver 類似,Firefox 有一個 geckodriver,因此得名 gecko。如果你打算使用這個工具,我建議使用 Chrome,因為它通常比 Gecko 的狀態更好。我傾向於在 Firefox 版本而不是 Chrome 上測試一些東西和功能,但兩者都應該可以工作。