当前位置: 首页 > 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 = 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
        print(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.dtcms.com/a/12012.html

相关文章:

  • springsecurity 在web中如何获取用户信息(后端/前端)
  • 普通项目解决跨域问题,springSecurity解决跨域问题以及文件配置
  • C++ 设计模式——迭代器模式
  • ATL宁德新能源25届校招社招:Verify测评及四色测评考什么?真题分析
  • es集群详解
  • Eureka的生命周期管理:服务注册、续约与下线的完整流程解析
  • Visual Basic调试全景:解锁高效开发的秘密武器
  • 数据结构——队的基本操作
  • MATLAB 地面点构建三角网(83)
  • c++ 谷歌的招聘 题解
  • 基于PHP的文件包含介绍
  • 英伟达财报引爆AI投资狂潮?华尔街众说纷纭
  • 利用“2+1链动模式小程序AI智能名片S2B2C商城源码”优化企业参与外部社群策略
  • Web前端性能优化合集
  • node-sass@^4.13.0 run postinstall node scripts/build.js error:
  • IS-IS路由基础配置
  • html2canvas ios慎用和createImageBitmap ios慎用
  • 会议音频方案
  • Spark MLlib 特征工程系列—特征转换SQLTransformer
  • 搜维尔科技:使用MANUS VR手套控制特斯拉机器人叠衣服操作
  • 交通流量监测检测系统源码分享 # [一条龙教学YOLOV8标注好的数据集一键训练_70+全套改进创新点发刊_Web前端展示]
  • Java基础——自学习使用(抽象类)
  • SOMEIP_ETS_070: Union_Length_longer_as_mesage_length_allows_it
  • Python爬虫,爬取某网站小说
  • 在数字化时代提升团队应急处理能力
  • 深入解析 Tomcat 的六大核心组件
  • 四、Centos7-安装Gitlab
  • HTML中自定义属性并通过JS获取属性值
  • Meta AI动画生成功能的规模化部署与优化策略
  • 文件系统