python自动答题软件_广东开放大学(广开)线上作业自动答题python-selenium
今天分享一個自己實現廣開線上作業自動答題的思路,使用的是python的第三方庫selenium,我是python初學者,因為自己寫的代碼比較雜亂多,所以代碼僅供參考。
準備:
1、下載瀏覽器驅動,我的是火狐瀏覽器(鏈接:https://pan.baidu.com/s/1mdZEMYZBHfE1VWsKfeGUAg 提取碼:1evr ),直接放在python的原目錄下(C:\Users\Administrator\AppData\Local\Programs? ?? ?python原目錄一般在這個位置)
2、安裝python的第三方庫(selenium,re,xlrd)。解釋一下:selenium是用來操作頁面elements的,re是用來正則表達式的,xlrd是拿來讀取excel文件的
思路第一步:模擬登錄
1.png (60.72 KB, 下載次數: 0)
2020-11-11 12:30 上傳
、
打碼的部分,username是賬號,password是密碼,輸入賬號密碼運行后,打開的頁面為
2.png (520.42 KB, 下載次數: 0)
2020-11-11 12:35 上傳
搜索selenium如何自動登錄網站,搜索selenium基礎教程,很快就了解到代碼的用法,實現打開頁面和登錄頁面和元素點擊。
思路第二步:進入考試
3.png (53.76 KB, 下載次數: 0)
2020-11-11 12:36 上傳
我這里不想一步步點擊,所以添加一個url網址,直接進入到考試前頁面
4.png (324.55 KB, 下載次數: 0)
2020-11-11 12:39 上傳
然后利用代碼點擊“現在參加測試”即可進入考試頁面,還有一段try的試錯代碼,是因為點擊“現在參加測試”后可能還有一個彈框盡在再次確認是否進入考試,如果有就點擊再次確認進入考試,沒有就直接進入考試
5.png (315.07 KB, 下載次數: 0)
2020-11-11 12:45 上傳
思路第三步:判斷題型
6.png (99.52 KB, 下載次數: 0)
2020-11-11 13:08 上傳
自己查找規律,進行簡單的邏輯判斷分辨出題型,廣開的作業只有選擇題、判斷題和多選題。要注意的是語法,find_element用于查找僅有的一個元素,find_elements用于查找多個元素并用列表儲存,所以用len()可以統計elements數量。
思路第四步:匹配答案自動答題
(1)題庫準備
作業完成后是可以回顧得到答案,而作業又是可以無限次數重做,于是統計了一個題目比較全的題庫
17.png (29.88 KB, 下載次數: 0)
2020-11-11 14:14 上傳
7.png (42.35 KB, 下載次數: 0)
2020-11-11 13:25 上傳
本來打算學習SQL來進行匹配的,不過我想用EXCEL,為了方便匹配我做了以下處理:1、去掉所有空格
8.png (12.65 KB, 下載次數: 0)
2020-11-11 13:28 上傳
2、不留空行
9.png (12.75 KB, 下載次數: 1)
2020-11-11 13:29 上傳^p代表一個換行符
3、答案獨自在一行
10.png (12.9 KB, 下載次數: 0)
2020-11-11 13:32 上傳
11.png (12.9 KB, 下載次數: 0)
2020-11-11 13:32 上傳
4、全選,粘貼在EXCEL工作簿的第一個工作表的第一列中
12.png (22.03 KB, 下載次數: 0)
2020-11-11 13:35 上傳
(2)獲取頁面上題目內容,獲取選擇項內容
13.png (74.35 KB, 下載次數: 1)
2020-11-11 13:38 上傳題目獲取之后去掉所有的空格和標點符號,方便在EXCEL表里面匹配
(3)匹配答案
14.png (162.14 KB, 下載次數: 0)
2020-11-11 14:01 上傳
(4)選擇正確的答案
15.png (79.19 KB, 下載次數: 0)
2020-11-11 14:06 上傳
其他報錯:開始考試后一定要第一題,否則報錯
效果
16.png (98.94 KB, 下載次數: 0)
2020-11-11 14:11 上傳
18.png (57.28 KB, 下載次數: 1)
2020-11-11 14:14 上傳
總結
以上是生活随笔為你收集整理的python自动答题软件_广东开放大学(广开)线上作业自动答题python-selenium的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 航海王燃烧意志艾尼路加点攻略
- 下一篇: 用c语言编写爱心的代码是什么(用C语言编