首页 > 其他 > 详细

基于selenium实现河海大学自动健康打卡

时间:2021-03-17 22:45:22      阅读:117      评论:0      收藏:0      [点我收藏+]

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实现河海大学自动健康打卡

原文:https://www.cnblogs.com/godwang/p/14551677.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!