吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 13010|回复: 83
收起左侧

[Python 转载] 广东开放大学(广开)线上作业自动答题python-selenium

  [复制链接]
xhtdtk 发表于 2020-11-11 14:15
本帖最后由 xhtdtk 于 2020-12-24 19:47 编辑

2020年12月24日:

所有相关链接已取消,不再编辑自动答题相关代码,学习还需一步一个脚印,祝大家生活愉快。
————————————————————————————————————————————

2020年12月21日更新,此代码已做成带界面的exe版本,只需安装火狐浏览器即可使用。

广东开放大学自动答题.exe——界面操作1.0.0.beta版
https://www.52pojie.cn/thread-1334402-1-1.html




——————————————————————————————————————————————————————

2020年12月19日更新,最近很多吾友找我帮忙,但现在是成高注册时间,太忙了,我把我认为做的最完美的代码分享出来。链接:https://pan.baidu.com/s/1pR0VRVYxTWPKCfdPHHu5og
提取码:zbru


使用代码的要求如下:
1、通过回顾得到答案,按思路第四步(1)准备题库
2、只能做单选,多选,判断三种类型的题,单选最做多可有6道选项,看的懂的可以自己添加
3、修改这三处地方
1.png

账号密码要输入

2.png

进入形考答题前的网址的后六位数字,第二组数字记得+1,python的for循环329429-329428=1(遍)

3.png
题库路径,有三处,都要修改成一样的


PS:有空的时候会做成有界面的EXE分享给大家

分割线——————————————————————————————————分割线

今天分享一个自己实现广开线上作业自动答题的思路,使用的是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


打码的部分,username是账号,password是密码,输入账号密码运行后,打开的页面为


2.png


搜索selenium如何自动登录网站,搜索selenium基础教程,很快就了解到代码的用法,实现打开页面和登录页面和元素点击。


思路第二步:进入考试

3.png


我这里不想一步步点击,所以添加一个url网址,直接进入到考试前页面


4.png


然后利用代码点击“现在参加测试”即可进入考试页面,还有一段try的试错代码,是因为点击“现在参加测试”后可能还有一个弹框尽在再次确认是否进入考试,如果有就点击再次确认进入考试,没有就直接进入考试


5.png


思路第三步:判断题型

6.png


自己查找规律,进行简单的逻辑判断分辨出题型,广开的作业只有选择题、判断题和多选题。要注意的是语法,find_element用于查找仅有的一个元素,find_elements用于查找多个元素并用列表储存,所以用len()可以统计elements数量。


思路第四步:匹配答案自动答题

(1)题库准备


作业完成后是可以回顾得到答案,而作业又是可以无限次数重做,于是统计了一个题目比较全的题库

17.png


7.png


本来打算学习SQL来进行匹配的,不过我想用EXCEL,为了方便匹配我做了以下处理:

1、去掉所有空格

8.png


2、不留空行

9.png

^p代表一个换行符


3、答案独自在一行

10.png

11.png


4、全选,粘贴在EXCEL工作簿的第一个工作表的第一列中

12.png


(2)获取页面上题目内容,获取选择项内容

13.png

题目获取之后去掉所有的空格和标点符号,方便在EXCEL表里面匹配


(3)匹配答案

14.png


(4)选择正确的答案

15.png


其他报错:开始考试后一定要第一题,否则报错


效果
16.png
18.png

免费评分

参与人数 8吾爱币 +7 热心值 +8 收起 理由
Lwk520pj + 1 + 1 用心讨论,共获提升!
zedong + 1 + 1 谢谢@Thanks!
asd616720 + 1 + 1 用心讨论,共获提升!
ghoob321 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
朔然ゝDendi + 1 + 1 我很赞同!
gray小灰 + 1 + 1 用心讨论,共获提升!
Doublevv + 1 + 1 谢谢分享思路和方法
zhang1836 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| xhtdtk 发表于 2020-11-11 14:18
忘记把代码放上去了
代码链接:https://pan.baidu.com/s/1J-mzg0_b7GgeUKxV0jDqbQ
提取码:7lxu
 楼主| xhtdtk 发表于 2020-11-13 17:52
xxzqcp 发表于 2020-11-13 16:47
楼主能分享制作好的程序吗?Q251666125

已经分享在网盘,1楼课件,但是只能解决一个页面只有一道题的情况。
针对一个页面可能出现多道题,且题型不一样的,刚刚已经完善了代码已经解决了问题,98%的作业都可以自动完成(选项需要手动输入而不是选择的就不打算写代码了),当然前提是要有题库支持。成品要留给自己提升自己机构的竞争力。
fanny188 发表于 2020-11-11 14:20
LMFAO 发表于 2020-11-11 14:44
感谢分享  支持一个
surpassmc 发表于 2020-11-11 14:51
感谢分享   支持支持支持支持支持
Doublevv 发表于 2020-11-11 14:52
谢谢分享思路和方法
绝对疯子 发表于 2020-11-11 14:59
答题都自动化了????
 楼主| xhtdtk 发表于 2020-11-11 15:01
绝对疯子 发表于 2020-11-11 14:59
答题都自动化了????

答题方式也有不一样的,比如题目是一起显示而不是一题一题,我现在解决的是出现比较普遍的答题方式
简猿 发表于 2020-11-11 15:03
占个沙发
Ganhaijian 发表于 2020-11-11 15:06
谢谢楼主!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 08:35

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表