注意:由于我已离开学校,该项目不再更新,请使用此
Sparx-Bookwork-Code是我已经工作了大约一年的项目(主要是作为一种爱好,而且因为我很懒)。
它是一个网络爬虫,用于记录 Sparx 的 Bookwork 代码并自动完成 Bookwork 检查(在此处解释)。它使用 chrome 驱动程序 (Google Chrome) 和现在的 geckodriver (Firefox) 来获取答案和代码的值。我使用 python,因为它是我的主要语言,而且很容易理解。
拥有它可能会帮助任何想要自动化 Sparx 数学作业的人。 (或者只是讨厌编写书本代码)
这主要专用于 chrome(尽管我有 Firefox 版本)。其他网络浏览器需要花费大量精力才能保持最新状态,因此请确保您安装了 Chrome。安装 Chrome 后,您需要弄清楚它是什么版本(Chromedriver 对版本非常挑剔)。
首先,导航到右上角的三个点。然后转到“设置”>“关于 Chrome”(位于底部)并查看版本。
然后转到此处下载您拥有的版本。
接下来,请点击这里。这应该下载您需要的其余文件。
您的文件夹应该类似于现在运行名为“BWK-CHROME”的.exe。Windows 可能会出现错误,只需单击“更多信息”。> 无论如何运行(如果您认为代码不安全,您可以查看它)这里)
输入详细信息,即可完成。 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 上测试一些东西和功能,但两者都应该可以工作。