Samueli924 / chaoxing

超星学习通/超星尔雅/泛雅超星全自动无人值守完成任务点
1.86k stars 258 forks source link

[BUG反馈] #391

Open TilapiaLog opened 2 weeks ago

TilapiaLog commented 2 weeks ago

代码报错截图 image

网页端课程报错任务点截图 此处上传出现报错的任务点的网页端截图

其他内容 您觉得对问题反馈有帮助的内容

abyss-stars commented 2 weeks ago
1731755558367

相同问题,报错为无法从空序列中读取

Ddddd-dd commented 2 weeks ago

问题出现的原因是: 在项目main.py文件的129行 : bookID = job_info["knowledgeid"] # 获取视频ID 获取视频ID的时候没有加异常处理 这里的异常指的是视频莫名丢失或者删除后 目录存在但是视频并不存在(具体原因我也不清楚 我也不是老师 不知道是老师删除了还是学习通的问题)导致获取的job_info列表为空 后面再去访问空对象的"knowledgeid"自然不存在会报错 无法从空序列中读取 解决办法:在获取视频ID之前加上判断条件 如下: if job_info == {}: __point_index += 1 continue

            bookID = job_info["knowledgeid"] # 获取视频ID

如果是空对象 直接跳过 具体发生的情况没怎么研究 解决办法也不一定是最优的 但是找到问题就好了 @Samueli924

sz134055 commented 1 week ago

从报错看是提取题目选项上出了问题,能否提供这一个练习题的页面截图,甚至网页源码?

Samueli924 commented 1 week ago

问题出现的原因是: 在项目main.py文件的129行 : bookID = job_info["knowledgeid"] # 获取视频ID 获取视频ID的时候没有加异常处理 这里的异常指的是视频莫名丢失或者删除后 目录存在但是视频并不存在(具体原因我也不清楚 我也不是老师 不知道是老师删除了还是学习通的问题)导致获取的job_info列表为空 后面再去访问空对象的"knowledgeid"自然不存在会报错 无法从空序列中读取 解决办法:在获取视频ID之前加上判断条件 如下: if job_info == {}: __point_index += 1 continue

            bookID = job_info["knowledgeid"] # 获取视频ID

如果是空对象 直接跳过 具体发生的情况没怎么研究 解决办法也不一定是最优的 但是找到问题就好了 @Samueli924

这个是#383合并的代码,目前看有些地方还不够完善,暂时先注释掉了

abyss-stars commented 1 week ago

从报错看是提取题目选项上出了问题,能否提供这一个练习题的页面截图,甚至网页源码?

1732109468304

source.txt 分别是网页截图和源码(从报错的题目中截下来的图)

TilapiaLog commented 1 week ago

Referenc

抱歉,我已经记不清楚是哪一个的报错了,如果下次出现这个报错我会提交在这里

sz134055 commented 1 week ago

问题比较难复现,大概率是个别页面网页结构有差异导致decode.py 198 行左右没能提取到题目选项信息,只能暂时默认多选题是4个选项然后随机选了

394