基于selenium实现河海大学自动健康打卡
0.每日健康打卡有点烦
1.所用方法:selenium;需要下载响应浏览器的webdriver
2.注意事项,我感觉唯一要注意的就是页面跳转以后应该怎么操作了(那个时候困扰了我好几天)
3.相应代码:
from selenium import webdriver
from time import sleep bro = webdriver.Edge(executable_path='E:/love/edgedriver_win64/msedgedriver')//自己webdriver.exe文件的地址
bro.maximize_window()//窗口最大化,看着好看
bro.get('http://my.hhu.edu.cn/index.portal')//进这个网站,就是河海大学的门户网站
name_text = bro.find_element_by_xpath('//*[@id="username"]')
code_text = bro.find_element_by_xpath('//*[@id="password"]')
btn = bro.find_element_by_xpath('//*[@id="changeBack"]/tbody/tr/td[2]/table[1]/tbody/tr[2]/td/div/input[1]')
//上面是找到响应的地方填写东西,用户名,密码还有登录button
name_text.send_keys('********')
code_text.send_keys('********')//填信息
btn.click()点击
sleep(0.3)//让浏览器缓一缓,可能它跟不上操作
bro.execute_script('window.scrollTo(0,document.body.scrollHeight)') //将页面向下翻,找到健康打卡的入口
jiangkangshangbao_text = bro.find_element_by_xpath('//*[@id="pf4301"]/div/div[2]/table/tbody/tr[11]/td[2]/a/img')
jiangkangshangbao_text.click()
//点击这个入口
sleep(0.5)
n = bro.window_handles
bro.switch_to.window (n[1]) //将操作的页面移到第二个页面,也就是点击健康打卡后会新弹出一个页面
bro.find_element_by_xpath('//section/section/div/a').click()
sleep(0.5)
//点击本科生健康打卡
bro.find_element_by_xpath('//*[@id="saveBtn"]').click()
sleep(0.5)
//再点击打卡即可
bro.quit()
//退出
4.提高:这也可以使用无头浏览器,就是你看不到浏览器的页面,但是它依然会执行你的代码,但是我感觉没有我看着它自动运行帅。如果想要点击一个py文件就可以直接运行的话可以改变打开这个py文件的运行方式,可以直接使用自己的python.exe来打开自己这个代码文件,然后就会自动运行。
5.遗留问题:我曾想如果可以设置一个时间然后每天跑一遍。但是学了网上的方法后依旧是以失败告终。fuck!希望大牛给我指条可以每天定时运行的明路!
基于selenium实现河海大学自动健康打卡的更多相关文章
- 每日自动健康打卡(Python+腾讯云服务器)
每日自动健康打卡(Python+腾讯云服务器) 1.配置需要 python3.7,Chrome或者Edeg浏览器,Chrome驱动或者Edge驱动 #需要配置selenium库,baidu-aip库, ...
- 基于selenium的pyse自动化测试框架
WebUI automation testing framework based on Selenium 介绍: pyse基于selenium(webdriver)进行了简单的二次封装,比seleni ...
- TestNG测试框架在基于Selenium进行的web自动化测试中的应用
转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/ TestNG+Selenium+Ant TestNG这个测试框架可以很好的和基于Selenium的 ...
- 《零成本实现Web自动化测试--基于Selenium》 第五章 Selenium-RC
一. 简介 Selenium-RC可以适应更复杂的自动化测试需求,而不仅仅是简单的浏览器操作和线性执行.Selenium-RC能够充分利用编程语言来构建更复杂的自动化测试案例,例如读写文件.查询数据库 ...
- 转载 基于Selenium WebDriver的Web应用自动化测试
转载原地址: https://www.ibm.com/developerworks/cn/web/1306_chenlei_webdriver/ 对于 Web 应用,软件测试人员在日常的测试工作中, ...
- 基于selenium+phantomJS的动态网站全站爬取
由于需要在公司的内网进行神经网络建模试验(https://www.cnblogs.com/NosenLiu/articles/9463886.html),为了更方便的在内网环境下快速的查阅资料,构建深 ...
- 基于Selenium的web自动化框架
转自 : https://www.cnblogs.com/AlwinXu/p/5836709.html 1 什么是selenium Selenium 是一个基于浏览器的自动化工具,它提供了一种跨平台. ...
- 基于Selenium的Web自动化框架增强篇
在写完上一篇“基于Selenium的Web自动化框架”(http://www.cnblogs.com/AlwinXu/p/5836709.html)之后一直没有时间重新审视该框架,正好趁着给同事分享的 ...
- 【转】基于Selenium的web自动化框架(python)
1 什么是selenium Selenium 是一个基于浏览器的自动化工具,它提供了一种跨平台.跨浏览器的端到端的web自动化解决方案.Selenium主要包括三部分:Selenium IDE.Sel ...
随机推荐
- 直播媒体流red5
第一步下载 安装setup-Red5-1.0.1-java6.exe 安装教程网上有很多 显示如下页面说明安装成功 第二步 下载oflaDemo的 解压放在 第三步 打开 然后 ok了 注意:下面的 ...
- Linux常用命令精华讲解 上部 (下部下回分解)不要催很忙的
Linux常用命令讲解 1.Linux命令基础 2.Linux命令帮助 3.目录与文件的基操 1.Shell是系统中运行的一种特殊程序在用户和内核之间充当"翻译官"的角色,登录li ...
- docker | jenkins 实现自动化CI/CD,后端躺着把运维的钱挣了!(下)
前言 在上一篇文章中,我们使用docker编写Dockerfile文件,将我们自己的项目构建成镜像,然后发布到Docker Hub中,并且用自己的云服务器拉取Docker Hub上我们自己上传的项目镜 ...
- Solution -「CF 840C」On the Bench
\(\mathcal{Description}\) Link. 给定数列 \(\{a_n\}\),求排列 \(\{p_n\}\) 的个数,使得 \((\forall i\in[1,n))(a_ ...
- Zookeeper应用之一:数据发布与订阅初体验
Zookeeper到底是什么?可以从Zookeeper提供的功能来理解.本篇小作文就是使用其提供的功能之一:数据发布与订阅. 需求:服务端开启多个实例提供服务,客户端使用服务.如果服务端某个服务下线或 ...
- springBoot-启动原理
注:SpringBoot版本 2.6.2 SpringBoot的入口是从SpringApplication.run()传入我们的主启动类开始 @SpringBootApplication public ...
- Spring声明式事务的两种配置方式(注解/xml)
application配置tx:annotation-driven 配置声明式事务tx:TransactionManager 声明式事务需要数据源所以需要配置DataSource 使用:在类或者方法上 ...
- 拒绝for循环,从take_along_axis开始
技术背景 在前一篇文章中,我们提到了关于Numpy中的各种取index的方法,可以用于取出数组里面的元素,也可以用于做切片,甚至可以用来做排序.但是遇到对于高维矩阵的某一个维度取多个值的时候,单纯的使 ...
- 八大排序算法之直接插入排序(InsertionSort)
常见的排序算法 今天复习[直接插入排序] 核心思想:有序数组中 找位置 -- 给无序数组第一个 找位置 ` public class InsertionSort { // 核心思想:有序数组中 找位置 ...
- 【C# .Net GC】GC内存分配规则
GC 管理内存分配和回收 公共语言运行时的垃圾回收器为应用程序管理内存的分配和释放. https://docs.microsoft.com/zh-cn/dotnet/standard/automati ...