学校每天都要通过学习通进行健康填报
每天填报内容大同小异吧
但是也不能不填
要不然导员就找你喝茶
我喝茶睡不着
所以。。。。。
selenium还是很香的,其实没什么技术含量,只是在重复造*而已
大概思路就是先实例化一个对象,然后通过自带的方法通过xpth等方法找到标签,进行写入或者点击操作,最适合我这种什么都不懂的小白操作啦,当然要想跑起来除了导入的包外还需要下一个谷歌驱动器,额edge也行,都行。。。
我这里用的是谷歌,下载地址放在这里
谷歌驱动:
http://chromedriver.storage.googleapis.com/index.html
版本映射关系:
https://blog.csdn.net/huilan_same/article/details/51896672
源码
from selenium import webdriver
from time import sleep
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument('--headless') # 无头浏览器
bro = webdriver.Chrome(executable_path=r'谷歌驱动的绝对路径',options=chrome_options) # 实例化对象
bro.get('http://passport2.chaoxing.com/login?fid=&newversion=true&refer=http%3A%2F%2Fi.chaoxing.com') # 学习通登录url
username_tag = bro.find_element_by_id('phone')
username_tag.send_keys('你的账号')
password_tag = bro.find_element_by_id('pwd')
password_tag.send_keys('你的密码')
btn = bro.find_element_by_id('loginBtn')
btn.click()
bro.get('https://uc.chaoxing.com/mobileSet/homePage?fid=121890&customizecolor=0xFFFFFF&time=20210103085130342&enc=EE9D0B4C0E4393B0C64851D542A6E14F') # 健康填报url
# sleep(5)
aniu = bro.find_element_by_xpath('/html/body/div[3]/div/div/div[1]/div[2]/div[1]')
aniu.click()
morning_tag = bro.find_element_by_xpath('//*[@id="10"]/div[3]/input')
morning_tag.send_keys('36.6')
noon_tag = bro.find_element_by_xpath('//*[@id="11"]/div[3]/input')
noon_tag.send_keys('36.7')
night_tag = bro.find_element_by_xpath('//*[@id="12"]/div[3]/input')
night_tag.send_keys('36.5')
no_tag = bro.find_element_by_xpath('//*[@id="13"]/div[3]/input')
no_tag.send_keys('无')
b = bro.find_element_by_xpath('//*[@id="forms"]/div[2]/div[5]/div/div[2]/p')
b.click()
# sleep(5)
bro.quit()
然后就到了让它每天执行一次的环节
通过跟同学沟通发现我的linux服务器并不能部署
所以决定把它直接放在自己的电脑上,每天开电脑的时候自动执行(再加一个无头更好用)
具体措施:
1.在py文件中把驱动改成绝对路径
2.python+py文件的绝对路径写入bat文件中
3.在任务管理中添加该任务(每天一次)
over!!!
特别鸣谢:殷大佬、邱大佬、罗大佬