使用python进行网站答题操作

介绍:

使用Python和DrissionPage模块编写自动化脚本,以模拟人的行为访问网站并获取题目答案进行自动答题。这个脚本似乎是为答题网站设计的,通过监控特定数据包地址来获取题目答案,并模拟点击正确答案进行答题。

代码中的逻辑包括:

  1. 导入DrissionPage模块来操作浏览器页面。

  2. 打开浏览器并监听数据包地址,访问答题页面。

  3. 循环答题,等待数据包加载,获取答案数据,点击正确答案并进入下一题。

请确保在运行这段代码之前,您已经安装了Python 3.10解释器、PyCharm编辑器,以及所需的模块(DrissionPage和requests)。

准备工作:

使用DrissionPage模块中的ChromiumOptions类来设置Chrome浏览器的下载路径。通过将Chrome浏览器的下载路径设置为特定路径,您可以自定义文件下载的默认保存位置。

在代码中:

  • 使用from DrissionPage import ChromiumOptions导入ChromiumOptions类。

  • 然后,设置Chrome浏览器的下载路径为指定的路径(在这里是C:\Program Files\Google\Chrome\Application\chrome.exe)。

  • 最后,调用.save()方法保存设置。

这个步骤可以帮助您在自动化测试或网页操作过程中控制Chrome浏览器的下载文件保存位置。

from DrissionPage import ChromiumOptionspath = r'C:\Program Files\Google\Chrome\Application\chrome.exe' # 改为你电脑chrome浏览器路径ChromiumOptions().set_download_path(path).save()

 

 

"""
模块使用
DrissionPage -> pip install DrissionPage 安装模块
requests  -> pip install requests
打开浏览器 模拟人的行为访问大体网站
获取题目答案
答案和选项对比 选择正确答案
下一题继续答题,直到答题结束
"""
# 导入自动化模块
from DrissionPage import ChromiumPage# 打开浏览器
dp = ChromiumPage()
# 监听答案的数据包地址
dp.listen.start('tkdata.mnks.cn/ExamData')
# 访问答题页面
dp.get('https://www.jsyks.com/kms-sxlx')
# 循环答题
for page in range(1,101):# 等待数据包加载resp=dp.listen.wait()# 直接获取答案数据包内容json_data= resp.response.body# print(json_data) 检验数据包内容获取成功# 直接获取答案内容answer_info = json_data['da']for answer in answer_info:if answer=='对':answer='Y'elif answer == '错':answer='N'"""进行答题操作-- 元素定位方法,找到答案按钮标签位置 ->在进行答题操作判断题 对选题 """# 进行答题操作dp.ele(f'css:#btn{answer}').click()# 点击进入下一题操作dp.ele('css:#btn_PN span').click()

查询下一页的按钮的元素  F12

过程中会遇到几个问题:(代码已处理)

判断题

选择题

结果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/155.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++奇迹之旅:探索C++拷贝构造函数

文章目录 📝拷贝构造函数🌠 概念🌉特征 🌠浅拷贝(值拷贝)🌉深拷贝 🌠拷贝构造函数典型调用场景🌠应用时效率的思考🚩总结 📝拷贝构造函数 🌠 概念 在现实生…

SHELL编程----判断输入的是否为IP地址

描述 写一个脚本统计文件nowcoder.txt中的每一行是否是正确的IP地址。 如果是正确的IP地址输出:yes 如果是错误的IP地址,且是四段号码的话输出:no,否则的话输出:error 假设nowcoder.txt内容如下: 192.1…

MySQL运维故障排查与高效解决方案

一、引言 MySQL作为关键的业务数据库,其稳定运行对于企业的日常运营至关重要。然而,在实际运维过程中,我们可能会遇到各种故障和问题。本文将针对MySQL运维中常见的故障进行深度排查,并提供高效的解决方案,帮助运维人员…

京西商城——前端项目的创建以及前后端联调

创建VUE项目 在jingxi_shop_project文件夹中再创建一个 frontend 文件夹用来存放前端项目 /jingxi_shop_project/backend/jingxi_shop_project....../frontend/jingxi_shop_web......首先要安装 node.js 和 VUE cli,进入到项目目录内创建项目 vue create jingxi_…

前端css中transition的使用

前端css中transition的使用 一、前言二、transition的4个属性三、例子1.源码12.源码1运行效果 四、结语五、定位日期 一、前言 CSS中的transition(过渡),根据字面意思就可以理解成一种变化状态的过程。当我们有一个方形,我们想让…

Ubuntu 22最新dockers部署redis哨兵模式,并整合spring boot的详细记录(含spring boot项目包)

dockers部署redis哨兵模式,并整合spring boot 环境说明相关学习博客一、在docker中安装redis1、下载dockers镜像包和redis配置文件(主从一样)2、编辑配置文件(主从一样)3、启动redis(主从一样)4…

Flutter MQTT通信(实现聊天功能)

MQTT协议简介: MQTT(Message Queuing Telemetry Transport)是一种轻量级的、开放的、基于发布/订阅模式的消息传输协议,最初由IBM开发。它专门设计用于在低带宽、不稳定的网络环境下进行高效的消息传输。 学习完本篇文章&#x…

重启服务器或重启docker,导致emqx的Dashboard的密码重置为public

最近在项目中突然发现重启服务器,或者重启docker 修改好的emqx的Dashboard的密码重置为public 技术博客 http://idea.coderyj.com/ 1.解决办法就是固定 emqx的节点 # 拉取镜像 docker pull emqx/emqx# 创建目录,进行目录挂载 mkdir -p /docker/emqx/{etc,lib,data,…

llama-factory SFT系列教程 (三),chatglm3-6B 大模型命名实体识别实战

文章列表: llama-factory SFT系列教程 (一),大模型 API 部署与使用llama-factory SFT系列教程 (二),大模型在自定义数据集 lora 训练与部署 llama-factory SFT系列教程 (三),chatglm3-6B 命名实体识别实战 简介 利用 llama-fa…

免费的壁纸api

# 联想壁纸 from enum import Enumimport requestsclass LenovoTopHeadersTypePage(Enum):"""头部页面类型wallpaper 精选wallpaperHot 热门wallpaperRank 排行"""wallpaper wallpaperwallpaperHot wallpaperHotwallpaperRank wallpaperRankc…

NL2SQL技术方案系列(1):NL2API、NL2SQL技术路径选择;LLM选型与Prompt工程技巧,揭秘项目落地优化之道

NL2SQL技术方案系列(1):NL2API、NL2SQL技术路径选择;LLM选型与Prompt工程技巧,揭秘项目落地优化之道 NL2SQL基础系列(1):业界顶尖排行榜、权威测评数据集及LLM大模型(Spider vs BIRD)全面对比优劣分析[Text2SQL、Text2DSL] NL2SQL基础系列(2):主流大模型与微调方法精选…

Android系统学习 —— 替换crash_dump文件

步骤 查看crash_dump所在的路径 vsoc_x86_64:/ # which crash_dump64 /apex/com.android.runtime/bin/crash_dump64可以看到,crash_dump放在了/apex/com.android.runtime下面。但是这个目录下的文件即使remount了也无法修改,而是需要通过/system/apex来…

1.2 海思SS928开发 - 开发环境 - 工具链安装

1.2 开发环境 - 工具链安装 为了方便使用,计划将工具链做成 SS928 SDK 仓库的一部分,并编写一个安装脚本。 创建仓库 在 gitlab 上创建 SS928 SDK 仓库,并命名为 SS928_SDK_G7.3_K4.19,其中 G7.3 代表 gcc 版本为 7.3&#xff0…

OpenHarmony轻量系统开发【12】OneNET云接入

12.1 OneNET云介绍 通常来说,一个物联网产品应当包括设备、云平台、手机APP。我将在鸿蒙系统上移植MQTT协议、OneNET接入协议,实现手机APP、网页两者都可以远程(跨网络,不是局域网的)访问开发板数据,并控制…

如何在阿里云主机上安装FreeBSD14系统

文章目录 在阿里云主机上安装FreeBSD14系统准备阿里云云主机识别目标磁盘下载 FreeBSD14解压缩 FreeBSD14系统镜像创建可启动的磁盘启动 FreeBSD14在阿里云主机上安装FreeBSD14系统 阿里云主机不支持 FreeBSD14 系统的镜像,因此需要手动进行安装。 准备阿里云云主机 在阿里云…

项目_预览和模拟器运行_真机运行鸿蒙应用---HarmonyOS4.0+鸿蒙NEXT工作笔记002

然后再来看如何使用预览,可以看到 右侧有个preview,点开就可以了 然后再有一个tools,这里 Device Manager,这个是模拟器 点开以后可以看到让我们连接,本地模拟器,还是远程模拟器,还是远程设备 这里我们选择phone 如果选择remote device,这个需要登录华为账号,会自动弹出来登…

前端网络---http协议演变

http协议的演变 什么是http协议? HTTP 协议全称为 Hypertext Transfer Protocol,即超文本传输协议,是互联网上应用最为广泛的一种网络传输协议 http协议演变 1991年0.9版本-------1996年1.0版本-------1997年1.1版本--------2015年2版本-…

探索SQL深入理解数据库操作的关键概念与技巧【文末送书】

文章目录 SQL语言从入门到精通入门篇进阶篇高级篇深入理解SQL SQL语言从入门到精通(软件开发视频大讲堂)【文末送书】 SQL语言从入门到精通 SQL(Structured Query Language,结构化查询语言)是一种用于管理关系型数据库…

Linux命令-du命令(显示每个文件和目录的磁盘使用空间)

说明 du命令 也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间 的查看,还是和df命令有一些区别的 语法 du(选项)(参数)选项 -a, --all 显示目录中个别文件的大小。 -B, --block-size大小 使用指定字节数的块 -b, -…

数据结构-贪心策略(贪心算法)

贪心算法 1.贪心算法的核心思想 局部最优思想:在每一步决策时做出对当前看起来最优的解,并且期望这些局部最优的选择能成全全局最优解.全局最优构造:对于给定的问题,其全局最优解可以通过将问题分解为一系列子问题,然后在每个子问题上独立做出贪心选择来…