python学法用法 自动刷分器_Python selenium模拟手动操作实现无人值守刷积分功能...

def DaTi(): driver.get(url = 'https://pc.xuexi.cn/points/exam-practice.html') elem_juje = WebDriverWait(driver,100).until(EC.presence_of_element_located((By.XPATH,'//div[@class="q-header"]'))) juje = elem_juje.get_attribute('innerText') # 在每日答题中,有三类题,判断题、选择题、填空题,所以先获取题的类别 # 注意 特别需要注意的是 By.XPATH 和 xpath 文本获取稍有却别,By.XPATH 获取文本方式为.get_attribute('innerText') time.sleep(1) # 等待一秒,其实也无所谓,但是为防止过快操作造成电脑卡顿,还是等待一秒。 if '选' in juje: elem_tishi = WebDriverWait(driver, 100).until(EC.presence_of_element_located((By.XPATH, '//span[@class="tips"]'))) elem_tishi.click() # 在答题中,答案在查看提示中以红色标记,所以首先要模拟点击查看答案,使答案加载 time.sleep(0.5) elem_answer = WebDriverWait(driver, 100).until(EC.presence_of_all_elements_located((By.XPATH, '//div[@class="line-feed"]/font'))) # 提取红色标记的文字,即答案 time.sleep(0.5) # 同样没什么实际意义 ans_lis = [] for elem in elem_answer: ans_lis.append(elem.get_attribute('innerText')) # 因为选择题嘛,不一定就是单选题,所以要存放这些答案,以便于在选项中找答案 print('得到答案') time.sleep(0.5) # 同样没什么实际意义 elem_juje.click() # 再次模拟点击的原因是 此时 查看提示 框还处于打开状态,如果不关闭,会影响提交答案的操作 # 模拟点击网页,关闭 查看提示 框 time.sleep(0.5) elem_xuanxiang = WebDriverWait(driver, 100).until(EC.presence_of_all_elements_located((By.XPATH, '//div[@class="question"]/div[@class="q-answers"]/div[contains(@class,"q-answer")]'))) # 获取所有的选项节点 for elem in elem_xuanxiang: data = elem.get_attribute('innerText')[3:].replace('-','') print(data) for i in ans_lis: if i in data: elem.click() ans_lis.remove(i) # 根据依次A -- > D 遍历答案,将两者对照进行选择与否,所以满足要求后去除该答案 # 防止对选项多次点击造成取消选择或其他错误 time.sleep(0.5) #防止过快操作,每次选择后等待0.5秒 break elem_next = WebDriverWait(driver, 100).until(EC.presence_of_element_located((By.XPATH,'//div[@class="action-row"]/button'))) elem_next.click() # 模拟点击确定按钮跳转下一题 DaTi(driver) elif '填' in juje: elem_tishi = WebDriverWait(driver,100).until(EC.presence_of_element_located((By.XPATH,'//span[@class="tips"]'))) elem_tishi.click() time.sleep(0.5) elem_answer = WebDriverWait(driver,100).until(EC.presence_of_element_located((By.XPATH,'//div[@class="line-feed"]'))) time.sleep(0.5) if '请观看视频' in elem_answer.get_attribute('innerText'): input('手动选择答案后无需点击确定,在此输入回车继续') elem_next = WebDriverWait(driver, 100).until(EC.presence_of_element_located((By.XPATH, '//div[@class="action-row"]/button'))) elem_next.click() # 在填空题中会有观看视频的题目,而且查看提示中会写‘请观看视频'而不会直接给出答案,所以要人工选择 elem_answer = WebDriverWait(driver,100).until(EC.presence_of_all_elements_located((By.XPATH,'//div[@class="line-feed"]/font'))) answer = [] time.sleep(0.5) for elem in elem_answer: answer.append(elem.get_attribute('innerText')) # 同样填空题中也有多个空的情况,所以将答案放在列表里 time.sleep(1) elem_data = WebDriverWait(driver,100).until(EC.presence_of_all_elements_located((By.XPATH,'//input[@class="blank"]'))) # 找到每个空 for i in range(len(answer)): elem_data[i].send_keys(answer[i]) time.sleep(0.5) # 通过遍历空,将对应的答案写入 elem_data[0].click() time.sleep(1) # 模拟点击网页,因为在写完空后,不点击网页会有确定按钮为不可点的情况 elem_next = WebDriverWait(driver,100).until(EC.presence_of_element_located((By.XPATH,'//div[@class="action-row"]/button'))) elem_next.click() DaTi(driver) elif '判' in juje:# 同上,判断题不会直接给出答案,所以只能手动吧 input('手动选择答案后无需点击确定,在此输入回车继续') elem_next = WebDriverWait(driver, 100).until(EC.presence_of_element_located((By.XPATH, '//div[@class="action-row"]/button'))) elem_next.click() DaTi(driver)

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

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

相关文章

java小程序小游戏代码贪吃蛇,附高频面试题合集

One:JVM实践思维图(完整版) Two: 走近Java 概述 Java技术体系Java发展史Java虚拟机家族:(Sun Classic/Exact VM、HotSpot VM、Mobile/Embedded VM、BEA JRockit/IBM J9 VM、BEA Liquid VM/Azul VM、Apache…

mysql创建存储时覆盖_总结到位的MySQL 的覆盖索引与回表

两大类索引使用的存储引擎:MySQL5.7 InnoDB聚簇索引* 如果表设置了主键,则主键就是聚簇索引* 如果表没有主键,则会默认第一个NOT NULL,且唯一(UNIQUE)的列作为聚簇索引* 以上都没有,则会默认创建一个隐藏的row_id作为聚…

java小程序开发平台,隔壁都馋哭了

01 阿里面试题之MySQL 之前的阿里面试题都有做总结,具体面试题内容整理成了文档,本文是针对MySQL系列的,所以下面只展示了自己第一次面试阿里时被吊打问到的一些MySQL难题 请解释关系型数据库概念及主要特点?请说出关系型数据库…

java小程序查看器,成功拿到offer

架构筑基 大家都知道,性能一直是让程序员比较头疼的问题。当系统架构变得复杂而庞大之后,性能方面就会下降,如果想成为一名优秀的架构师,性能优化就是你必须思考的问题。 所以性能优化专题从JVM底层原理到内存优化再到各个中间件…

java小程序设计一个国旗点击国旗唱国歌,看这篇足矣了!

工作的前两年 如果你不能拼爹,或者不想拼爹,最好的方法是拼实力。 合抱之木,生于毫末;九层之台,起于垒土;千里之行,始于足下。 所以,你必须要从基层做起。当然,所谓的基…

java client_java中HttpClient的使用

HttpClient的使用步骤:1、使用Apache的HttpClient发送GET和POST请求的步骤如下:1. 使用帮助类HttpClients创建CloseableHttpClient对象. 2. 基于要发送的HTTP请求类型创建HttpGet或者HttpPost实例.3. 使用addHeader方法添加请求头部,诸如User-Agent, Accept-Encodin…

java小项目实例,成功入职阿里

我听到的一些发声 你们赚的钱已经可以了: 我一个发小是做土木工程的,上海大学博士,参与很多著名建筑的工程,但是从薪资上看,还不如一些稍微像样的公司的6年多的高级开发。为什么?这就是行业的红利&#xf…

java属于什么行业,吐血整理

微服务的发展 微服务倡导将复杂的单体应用拆分为若干个功能简单、松耦合的服务,这样可以降低开发难度、增强扩展性、便于敏捷开发。当前被越来越多的开发者推崇,很多互联网行业巨头、开源社区等都开始了微服务的讨论和实践。 微服务落地存在的问题 虽…

java struts2 ajax_在struts2的Action中返回Ajax数据

author:z_xiaofei168如何在struts2的action中返回数据(普通字符串、图片)给ajax核心中的XMLHttpRequest对象。今天下午做项目,就是用户注册是时候,登录名是否唯一,我用的ajax验证,但怎么也不返回我想要的数据,纠结了老…

Nginx负载均衡策略有哪些?知识点总结+面试题解析

前言 看日期,今天都是4月了,这春招也差不多进入尾声了。 近期任有不少朋友都在找工作,很多人开始抱怨,工作可真难找啊!身边不少朋友问我咋搞呀,秋招都要结束了,工作还没着落呢…额…这个…今年…

java bean jsp_JavaBean与Jsp

这一节我们总结一下JavaBean和Jsp的关系。1. JavaBeanjavaBean是一个遵循特定写法的Java类,它通常具有如下特点:1)这个java类必须具有一个无参构造函数;2)属性必须私有化;3)私有化的属性必须通过public类型的方法暴露给其他程序&a…

P8级别的顶级“并发编程”宝典,最全指南

前言 前几天我上班路上,和小区门口开车的师傅闲聊,发现他们虽然学历不高,但挣钱的途径不少,比如固定接送多位客户,然后能通过朋友圈拓展新客户,而且通过客户口口相传,也能不断拉到生意&#xf…

java 追加写入txt文件_ava如何追加写入txt文件

(二)方法1public void method1() {FileWriter fw null;try {//如果文件存在,则追加内容;如果文件不存在,则创建文件File fnew File("E:\dd.txt");fw new FileWriter(f, true);} catch (IOException e) {e.printStackTrace();}Pri…

Redis宕机数据丢失解决方案,不吃透都对不起自己

前言 昨天,有个女孩子问我提高数据库查询性能有什么立竿见影的好方法? 这简直是一道送分题,我自豪且略带鄙夷的说,当然是加「索引」了。 她又不紧不慢的问,索引为什么就能提高查询性能。 这还用问,索引…

c 加密 java解密错误_java解密出错

展开全部你那个代码少得东西太多,我左试右试,都是错,也不知道你的初始32313133353236313431303231363533e78988e69d8331333332613762值都是什么。给你写了一个加密解密的,希望对你有帮助。import java.security.NoSuchAlgorithmEx…

Redis成神之路电子版教程已问世,面试题+笔记+项目实战

前言 我想对所有程序员说:除了看视频、做项目来提高自身的技术之外,还有一种提升自己的专业技能就是:多!看!书!(本文内提到的书单笔者整理出了一份电子档作为分享,文末有免费获取方式…

java 中的event_Java中this与event有什么不同

Java中this与event有什么不同发布时间:2021-02-11 10:37:25来源:亿速云阅读:61作者:LeahJava中this与event有什么不同?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法&#xff…

Redis有几种数据类型?文末领取面试资料

前言 其实前几篇文章已经写了好多有关于Spring源码的文章,事实上,很多同学虽然一直在跟着阅读、学习这些Spring的源码教程,但是一直都很迷茫,这些Spring的源码学习,似乎只是为了面试吹逼用,我大概问过一些…

java 多重属性_最全面的44个Java 性能调优细节

我认为,代码优化的最重要的作用应该是:避免未知的错误。在代码上线运行的过程中,往往会出现很多我们意想不到的错误,因为线上环境和开发环境是非常不同的,错误定位到最后往往是一个非常小的原因。然而为了解决这个错误…

Redis灵魂14问?真香

前言 今日博主听闻,现在很多培训出来的应届生薪资都赶上了摸爬滚打两三年的朋友,讲道理,这说不过去啊 作为同行来说,这个行业发展很快,技术更新很快,淘汰也很快,千万不要再找借口了&#xff0…