2019年11月3日

使用 python 和 selenium 修改 moodle測驗

moodle是很好用的教學平台,可以在上面設定線上測驗讓學生練習。我通常都會設定每個測驗可以進行三次,然後及格分數可能是90分或100分。而在每次段考前一兩週,我會再將測驗次數提高幾次,讓之前沒有辦法達到及格分數的同學能再次嘗試。每次重新設定這些測驗的細項都會花去我非常多的時間,於是我就用python爬蟲的技術來處理了這樣雜事。

要做這件事需使用 selenium 。得先下載 chrome或firefox的webdriver,這可以讓python直接操作瀏覽器的元素,例如填寫資料或是按下按鈕。

我製作好的程式在github
https://github.com/ChihHsiangChien/moodleCrawl

chrome的webdriver在此連結 https://chromedriver.chromium.org/
下載的版本要搭配你本機使用的版本號碼

firefox的webdriver叫做geckodriver在此連結 https://github.com/mozilla/geckodriver/releases

在以下影片中,我使用的是gecodriver。在範例程式中我其實也有放chrome webdriver的程式碼,有興趣的解開註解就可以看到。

用程式來執行這些繁瑣工作真是非常方便,只要修改幾個地方,就可以放著讓程式執行,過幾分鐘就做好了。