当前位置: 首页 > 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()

http://www.mrgr.cn/news/6677.html

相关文章:

  • 特殊管道资源采购
  • 【JetPack】LiveData setValue和postValue的区别
  • openjdk11 jvm视角查看java线程异常退出synchronized锁自动释放
  • 深入解析ASP.NET Core 中间件:如何构建高效的请求处理管道
  • 七天.NET 8操作SQLite入门到实战详细教程(选型、开发、发布、部署)
  • 谷粒商城实战笔记-248-商城业务-消息队列-RabbitMQ简介
  • MongoDB快速入门CRUD
  • Docker 部署loki日志 用于微服务
  • 《通义千问AI落地—下》:WebSocket详解
  • 使用nginx做代理转发
  • 区块链基础通识(1)——分布式系统的共识问题
  • easyexcel--多sheet页导入导出
  • 使用[KafkaStreams流计算框架实时计算产生报警(升级报警)
  • Xmind 在线导图上线!多设备实时同步,节约本地空间
  • 系统编程 网络 协议问题总结
  • VoLTE基本信令流程(整理的学习笔记)
  • 操作系统临时
  • SFC 和 DISM 使用区别 【附加使用方式】
  • MS SQL Server partition by 函数实战二 编排考场人员
  • VScode的python虚拟环境