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