KirigiriSuzumiya / XueXiTong_web

学习通泛雅课程刷课工具。使用selenium+python,破解了最近更新的测试复制乱码。能够自动进行视频播放与章节测试搜题、提交。
GNU General Public License v3.0
62 stars 7 forks source link

搜索的题目数和实际题目数不一致 #17

Closed lisongkun closed 2 years ago

lisongkun commented 2 years ago
chrome_answer.get(
            "https://mooc1.chaoxing.com/api/selectWorkQuestion?workId=%s&courseId=%s" % (work_id, course_id))

https://s1.ax1x.com/2022/06/19/XXTxFe.png 图例:https://s1.ax1x.com/2022/06/19/XXTxFe.png 上面这行代码打开的题目页面和实际的测验页面题目数量不一致,导致最后会有选项漏掉产生报错。 我看代码中的答案只是顺序保存,而不是保存题和答案的关系,是因为字体加密了吗?我看测验的时候没看出来加密呀

KirigiriSuzumiya commented 2 years ago

现在题目不加密了吗,之前的单元html里的文字是加密的,复制出来会乱码,所以用了这个办法。但因为题没法一一对应,也没法检查选项顺序什么的,现在什么情况我也不是很清楚。本来做来自己用的,学校里课刷完了就没管了 现在不加密的话直接读章节测试网页上的题然后送题库就行

lisongkun commented 2 years ago
    def question_resource(self, question_elements):
        answers = []
        for q in question_elements:
            q = q.find_element(By.TAG_NAME, 'div')
            q = q.find_element(By.TAG_NAME, 'div')
            question_text = q.text.replace('\n', '')
            print(question_text)
            answer = self.get_answer(question_text)
            answers.append(answer)
        return answers

把方法改成上面这样 就可以了,并没有遇到加密,可能是取消了或者个别课程设置的