前言

文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

作者: HIS Hacker

PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取http://t.cn/A6Zvjdun

背景说明

在github上发现一个古老的华医网考试脚本(https://github.com/lhzzzzzz/autoexamofhuayi),是python2写的。它实现了华医网自动登录、自动获取考试编号cwid、自动考试。现在把它翻新一下。

脚本功能

基于已知的考试编号cwid,进行华医网自动考试。

需要用到的工具(开发环境)

1、Google Chrome;

2、Fiddler:用于抓包;

3、PyCharm

思路分析

一、答题流程分析

已有现在的Javascript脚本(《华医网自动答题脚本》),根据华医网的答题代码,进行自动答题。但这个代码使用的是试错了,反复提交需要消耗时间,不适合批量操作。

根据GitHub现有脚本(https://github.com/lhzzzzzz/autoexamofhuayi),发现华医网是直接把原答案放在试题的网页中

所以其实在答题界面,用chrome的F12进行Inspect,也能找到正确答案。

name="gvQuestion$ctl03$result" 对应的 value即正确答案的value

通过Fiddler抓包可以看到,考试主要包括三个动作:

1、GET 考试试题

2、POST 考试试题+答案

3、GET 考试结果

而其中

POST答案提交的data包括以下几部分:

1、__EVENTTARGET 等是 ASP.Net 相关验证参数:可以从考试界面的网页中用正则表达式提取;其中留空的字段可以不提交

2、Hidden1、Hidden2、Hidden3:表示最前面的课程评价星级,可以不提交;

3、gvQuestion$ctl03$question_id、gvQuestion$ctl03$result、gvQuestion$ctl03$rbl :表示题号、正确选项、考生选项(这里当然是直接提交正确选项的value)

二、模拟登录华医网

根据旧的py脚本,以前的华医网登录不需要验证码,现在有了图片验证码,登录变得麻烦了。还是改成手动复制Fiddler抓到的cookie吧

三、Session会话保持

华医网登录之后使用Session进行对话,获取考卷、提交考试、获取成绩都会刷新cookie,而且只有最新的cookie能进行下次对话。

所以这里需要用requests.session()保持会话,而且起始的cookie必须是最新的一个cookie

运行结果

如果全部考完,可以在网页中看到可以申请证书。

MORE

华医网很多bug的,如没有完成考试也可以直接申请证书,在考试结果页面,浏览器状态输入代码就可以。

使用流程(代码实现)

如果你处于想学Python或者正在学习Python,Python的教程不少了吧,但是是最新的吗?说不定你学了可能是两年前人家就学过的内容,在这小编分享一波2020最新的Python教程。获取方式,私信小编 “ 资料 ”,即可免费获取哦!

易班自动答题脚本_如何使用python进行自动网上考试相关推荐

  1. python写自动答题脚本_编写Python脚本拉取优学院答案

    上个月审计了云班课和优学院的前端代码,实现了强制修改视频进度和获取选择题答案的功能.但是单个发包效率太低了,昨晚开始着手写了一个脚本,早上修改了一下,基本功能写出来了.考虑到风险,这个脚本是获取答案, ...

  2. python写自动答题脚本_问卷星的自动答题脚本

    import time from datetime import datetime from random import randint from requests_html import HTMLS ...

  3. 京东自动评论脚本_京东时光机python脚本 自动完成任务

    其他的活动大家都玩的很嗨,这个貌似没什么动静 活动大概就是积碎片兑换奖励,奖励没怎么注意自己去看吧 活动地址:https://h5.m.jd.com/babelDiy/Zeus/3DDunaJMLDa ...

  4. python写扫雷脚本_如何让Python实现自动扫雷

    @本文来源于公众号:csdn2299,喜欢可以关注公众号 程序员学府 文章目录 自动扫雷一般分为两种,一种是读取内存数据,而另一种是通过分析图片获得数据,并通过模拟鼠标操作,这里我用的是第二种方式. ...

  5. python 测试用例 自动生成目录_如何在python中自动向测试套件添加十几个测试用例...

    我做的是运行单独测试文件的包装脚本: 主包装纸^{}:#!/usr/bin/env python3 # Usage: ./run_tests.py -h http://example.com/ tes ...

  6. python 测试用例 自动生成目录_如何在python中自动将测试用例添加到测试套件中...

    上面的模块很好,但NoseTests在尝试输入参数时会很有趣,而且速度更快,更适合其他模块. import os, unittest class Tests(): def suite(self): # ...

  7. python可以自动录凭证_我用 Python 实现自动刷抖音小姐姐

    具体实现代码 # 图片压缩比例 SIZE_normal = 1.0 SIZE_small = 1.5 SIZE_more_small = 2.0 # adb手机截图 def get_screen_sh ...

  8. delete可以传body吗_最简单的易班打卡脚本!可以自动打卡了

    易班web自动化打卡脚本 一直以来,易班打卡被称为最鸡肋,最浪费时间,最浪费纳税人钱财的表面工程,那么如何解决这一问题,已成为现在高校大学生的急需思考的大问题.那这一次我就来谈谈我是怎么解决这一问题的 ...

  9. python 题库自动答题,自动匹配题库_如何用python写一个从题库自动匹配的答题脚本_淘题吧...

    A. web数据库题目:根据用户输入的用户名和密码于数据库中的记录是否匹配制作一个用户登录模块 http://blog.csdn.net/love_leve/article/details/43226 ...

  10. 自动按键脚本_阔怕...按键精灵还能将别人的脚本导入为自己所用

    在按键精灵中你可以自己编辑脚本也可以直接导入别人的脚本直接使用.但是按键精灵的脚本文件是按键一定的数据格式保存的,如果单纯地把Q文件里面的内容直接复制到编辑器上是无法识别的.那如何导入别人的脚本? 一 ...

最新文章

  1. java nio 写事件_Java NIO
  2. 挖掘 OSINT 金矿——实习生和社交媒体
  3. boost::cv_status相关的测试程序
  4. java finally块_java finally块后的语句是否要执行
  5. STemwin替换为MDK下的emwin
  6. android在activity中锁屏解锁后重走OnCreate的问题的解决办法
  7. 【Flink】Flink jvm参数配置GC日志
  8. Anders Hejlsberg语录
  9. java Sting类函数
  10. 五子棋聊天java_java带聊天的五子棋 适合新手
  11. JVM(三)类加载与字节码技术
  12. centos6.3安装bluefish
  13. 关于内部文档的标准格式要求(图文)
  14. 微信小程序开发VIP商城项目
  15. CSDN程序员过中秋,那是一个热闹
  16. 什么是MES系统软件,如何用大白话理解MES,公司有了ERP还有必要上MES吗?
  17. react之router
  18. 中国人寿信息技术部实习总结
  19. (已解决)win10电脑开机自动开启word文档
  20. 監獄脱出少女 Lie

热门文章

  1. Flash助手推荐广告删除方法
  2. Mybatis自动去重
  3. 机器学习LDA——实验报告
  4. 基于PHP的新闻管理系统(基础版)
  5. Borland Delphi7 企业版注册方法
  6. 硬笔行书字帖3500常用字_硬笔行书每日一字 · 出
  7. 27_iOS干货19之网络4_在线http/https素材资源
  8. codejock toolkit pro 19.2 for MFC
  9. docker 安装 oracle
  10. 课程设计—通讯录管理系统