基於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!希望大牛給我指條可以每天定時運行的明路!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM