当前位置: 首页 > news >正文

【自动化】考试答题自动化完成答案,如何实现100%正确呢

一、科目仿真考试不能自动答题

我的答案是可以的,电脑程序可以模拟人的操作完成所有的答题并提交结束考试

二、分析页面内容

完成一个题目,包括判断题,对与错2选1答案,单选题ABCD4选1答案,多选题大家想一想

F12查看按钮 id  有没有规律呢

我们在看一下题库中是什么的

我们的思路是将题库的答案替换成和按钮一样的数字

if da == '对':da = 11
elif da == '错':da = 12
elif da == 'A':da = 21
elif da == 'B':da = 22
elif da == 'C':da = 23
elif da == 'D':da = 24

注意if elif 是对齐的不是错位的

现在还有一个问题多选题,若答案是ABC,怎么处理呢。

用一个for da in dalist:每一个答案点击一次循环语句

   page.ele(f'css:#btnDa{da}').click()
page.ele('css:#btnNext2').click()

最终完成所有的操作。

三、题库在哪里

当请求网址的时候服务器会返回一个题库

F12找到题库地址

https://tk.mnks.cn/kaoshiti/?tk=kms&cx=C1&t=6502824376164&sign=70F618D0E0223B46307B713AE862669C

打开网址前就要监听数据包,拿到的字符串 需提取题库内容,并转成JSON语句
page.listen.start('kaoshiti/')
page.get('https://www.jsyks.com/kms-fzks')
resp = page.listen.wait()
info = resp.response.body
kaoshitiku = re.findall('var ExamCnts = (.*?);',info)[0]
print(type(kaoshitiku))
json_data = json.loads(kaoshitiku)
print(json_data)

四、自动化程序

from DrissionPage._pages.chromium_page import ChromiumPage
page = ChromiumPage()
import json
import re
import time
page.listen.start('kaoshiti/')
page.get('https://www.jsyks.com/kms-fzks')
resp = page.listen.wait()
info = resp.response.body
# print(type(info),info)
kaoshitiku = re.findall('var ExamCnts = (.*?);',info)[0]
print(type(kaoshitiku))
json_data = json.loads(kaoshitiku)
print(json_data)
for t in json_data:tm = t['tm']dalist = t['da']print(tm,dalist)for da in dalist:if da == '对':da = 11elif da == '错':da = 12elif da == 'A':da = 21elif da == 'B':da = 22elif da == 'C':da = 23elif da == 'D':da = 24print(tm, da)page.ele(f'css:#btnDa{da}').click()page.ele('css:#btnNext2').click()time.sleep(1)
page.ele('css:#btnNext3').click()
page.ele('x://*[@id="Tip_Msg"]/div/span/input[1]').click()

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Linux内核多线程
  • QGraphicsView类介绍
  • 推荐一款好用的mac解压缩软件
  • 编写bash脚本:读取URL,每隔5分钟运行一次‘git clone ‘ URL,直至运行成功。
  • 一步步理解 Python 异步生成器(AsyncGenerator)——从入门到实践
  • centos安装websocat
  • 【算法基础实验】图论-Dijkstra最短路径
  • springboot-从0开始创建一个starter
  • JWT-JSON Web Token
  • Marching Cubes 算法三探
  • 「对比评测」标准WPF DataGrid与DevExpress WPF GridControl有何不同?(一)
  • 微信删除了好友如何恢复?试试这3种方法,赶紧收藏!shuju
  • 谈到这个痛点,写C的和不写C的码农都沉默了
  • Celery 中,广播模式可以通过使用 RabbitMQ 的 fanout 交换机来实现
  • MFC工控项目实例之七点击下拉菜单弹出对话框
  • [译] 怎样写一个基础的编译器
  • 《深入 React 技术栈》
  • Asm.js的简单介绍
  • CSS中外联样式表代表的含义
  • Java 最常见的 200+ 面试题:面试必备
  • mockjs让前端开发独立于后端
  • node入门
  • vue-cli在webpack的配置文件探究
  • 不上全站https的网站你们就等着被恶心死吧
  • 浮现式设计
  • 关于Android中设置闹钟的相对比较完善的解决方案
  • 深入体验bash on windows,在windows上搭建原生的linux开发环境,酷!
  • 教程:使用iPhone相机和openCV来完成3D重建(第一部分) ...
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • # MySQL server 层和存储引擎层是怎么交互数据的?
  • #Datawhale AI夏令营第4期#多模态大模型复盘
  • #我与Java虚拟机的故事#连载12:一本书带我深入Java领域
  • (二)windows配置JDK环境
  • (附源码)ssm基于jsp高校选课系统 毕业设计 291627
  • (机器学习-深度学习快速入门)第三章机器学习-第二节:机器学习模型之线性回归
  • (解决办法)ASP.NET导出Excel,打开时提示“您尝试打开文件'XXX.xls'的格式与文件扩展名指定文件不一致
  • (利用IDEA+Maven)定制属于自己的jar包
  • (六)什么是Vite——热更新时vite、webpack做了什么
  • (每日一问)设计模式:设计模式的原则与分类——如何提升代码质量?
  • (三)Kafka离线安装 - ZooKeeper开机自启
  • (源码版)2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模
  • (转)拼包函数及网络封包的异常处理(含代码)
  • .NET Core WebAPI中使用swagger版本控制,添加注释
  • .NET MVC之AOP
  • .Net 路由处理厉害了
  • .NET 使用配置文件
  • .NET/C#⾯试题汇总系列:集合、异常、泛型、LINQ、委托、EF!(完整版)
  • .NET命令行(CLI)常用命令
  • .NET中两种OCR方式对比
  • @ 代码随想录算法训练营第8周(C语言)|Day53(动态规划)
  • @JsonFormat与@DateTimeFormat注解的使用
  • [ 环境搭建篇 ] 安装 java 环境并配置环境变量(附 JDK1.8 安装包)
  • [23] 4K4D: Real-Time 4D View Synthesis at 4K Resolution
  • [c++] 单例模式 + cyberrt TimingWheel 单例分析
  • [C++数据结构之看懂就这一篇]图(上)