Python3自動(dòng)簽到 定時(shí)任務(wù) 判斷節(jié)假日的實(shí)例
不廢話,直接上代碼Python3.6
簽到代碼,只需修改url,賬號(hào),密碼即可,此處是登錄時(shí)無驗(yàn)證登錄,有驗(yàn)證碼的自行補(bǔ)充
# -*- coding:utf-8 -*- import json import urllib.request import datetime # 模擬瀏覽器打開網(wǎng)站 browser = webdriver.Chrome() browser.get('http://**.**.121.54/') # 將窗口最大化 browser.maximize_window() # 根據(jù)路徑找到按鈕,并模擬進(jìn)行點(diǎn)擊 browser.find_element_by_id('btn').click() # 延時(shí)2秒,以便網(wǎng)頁加載所有元素,避免之后找不到對應(yīng)的元素 time.sleep(2) # 這里是找到輸入框,發(fā)送要輸入的用戶名和密碼,模擬登陸 browser.find_element_by_id( "username").send_keys("123456") browser.find_element_by_id( "password").send_keys("123456") # 在輸入用戶名和密碼之后,點(diǎn)擊登陸按鈕 browser.find_element_by_id('btn').click() time.sleep(2) # 點(diǎn)擊登陸后的頁面中的簽到,跳轉(zhuǎn)到簽到頁面 browser.find_element_by_id("signInCoin").click() time.sleep(2) # 這個(gè)print其實(shí)沒事什么用,如果真的要測試腳本是否運(yùn)行成功,可以用try來拋出異常 print("簽到成功") # 腳本運(yùn)行成功,退出瀏覽器 browser.quit()
定時(shí)任務(wù)代碼
import time from datetime import datetime, timedelta from time import sleep SECONDS_PER_DAY = 24 * 60 * 60 def doFunc(): print "do Function..." def doFirst(): curTime = datetime.now() print (curTime) desTime = curTime.replace(hour=20, minute=0, second=0, microsecond=0) print (desTime) delta = curTime - desTime print (delta) skipSeconds = SECONDS_PER_DAY - delta.total_seconds() print ("Next day must sleep %d seconds" % skipSeconds) sleep(skipSeconds) #時(shí)間到執(zhí)行方法 doFunc() if __name__ == "__main__": doFirst()
判斷當(dāng)前日期是否是節(jié)假日
1、接口地址:http://api.goseek.cn/Tools/holiday?date=數(shù)字日期
2、返回?cái)?shù)據(jù):工作日對應(yīng)結(jié)果為 0, 休息日對應(yīng)結(jié)果為 1, 節(jié)假日對應(yīng)的結(jié)果為 2
3、節(jié)假日數(shù)據(jù)說明:本接口包含2017年起的中國法定節(jié)假日數(shù)據(jù),數(shù)據(jù)來源國務(wù)院發(fā)布的公告,每年更新1次,確保數(shù)據(jù)最新
#獲取當(dāng)前時(shí)間 格式20180213 nowTime=time.strftime('%Y%m%d',time.localtime()) date = nowTime #節(jié)假日接口 server_url = "http://api.goseek.cn/Tools/holiday?date=" vop_url_request = urllib.request.Request(server_url+date) vop_response = urllib.request.urlopen(vop_url_request) vop_data= json.loads(vop_response.read()) #打印返回的Json串 print (vop_data) if vop_data['data']==0: print ('This day is weekend 6-7') elif vop_data['data']==1: print ('This day is weekend 6-7') elif vop_data['data']==2: print ('This day is holiday') else: print ('Error')
根據(jù)當(dāng)前日期是否是節(jié)假日進(jìn)行,自動(dòng)簽到打卡案例
# -*- coding:utf-8 -*- import json import urllib.request import datetime # 方便延時(shí)加載 import time from selenium import webdriver SECONDS_PER_DAY = 24 * 60 * 60 ##定時(shí)執(zhí)行的任務(wù) from datetime import datetime, timedelta from time import sleep def doFirst(): curTime = datetime.now() print (curTime) desTime = curTime.replace(hour=7, minute=45, second=0, microsecond=0) print (desTime) delta = desTime-curTime sleeptime = delta.total_seconds() % SECONDS_PER_DAY print(sleeptime) print ("Now day must sleep %d seconds" % sleeptime) sleep(sleeptime) #nowTime=datetime.datetime.now().strftime('%Y%m%d')#現(xiàn)在 nowTime=time.strftime('%Y%m%d',time.localtime()) date = nowTime server_url = "http://api.goseek.cn/Tools/holiday?date=" vop_url_request = urllib.request.Request(server_url+date) vop_response = urllib.request.urlopen(vop_url_request) vop_data= json.loads(vop_response.read()) print (vop_data) if vop_data['data']==0: # 模擬瀏覽器打開網(wǎng)站 browser = webdriver.Chrome() browser.get('http://***.***.***.***/') # 將窗口最大化 browser.maximize_window() # 根據(jù)路徑找到按鈕,并模擬進(jìn)行點(diǎn)擊 browser.find_element_by_id('btn').click() # 延時(shí)2秒,以便網(wǎng)頁加載所有元素,避免之后找不到對應(yīng)的元素 time.sleep(2) # 格式是PEP8自動(dòng)轉(zhuǎn)的 # 這里是找到輸入框,發(fā)送要輸入的用戶名和密碼,模擬登陸 browser.find_element_by_id( "username").send_keys("123456") browser.find_element_by_id( "password").send_keys("123456") # 在輸入用戶名和密碼之后,點(diǎn)擊登陸按鈕 browser.find_element_by_id('btn').click() time.sleep(2) # 點(diǎn)擊登陸后的頁面中的簽到,跳轉(zhuǎn)到簽到頁面 browser.find_element_by_id("signInCoin").click() time.sleep(2) # 這個(gè)print其實(shí)沒事什么用,如果真的要測試腳本是否運(yùn)行成功,可以用try來拋出異常 print("簽到成功") # 腳本運(yùn)行成功,退出瀏覽器 browser.quit() elif vop_data['data']==1: print ('This day is weekend 6-7') elif vop_data['data']==2: print ('This day is holiday') else: print ('Error') if __name__ == "__main__": doFirst()
以上這篇Python3自動(dòng)簽到 定時(shí)任務(wù) 判斷節(jié)假日的實(shí)例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python創(chuàng)建與遍歷二叉樹的方法實(shí)例
這篇文章主要給大家介紹了關(guān)于python創(chuàng)建與遍歷二叉樹的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03python探索之BaseHTTPServer-實(shí)現(xiàn)Web服務(wù)器介紹
這篇文章主要介紹了python探索之BaseHTTPServer-實(shí)現(xiàn)Web服務(wù)器介紹,小編覺得還是挺不錯(cuò)的,這里分享給大家,供需要的朋友參考。2017-10-10Python之tkinter文字區(qū)域Text使用及說明
這篇文章主要介紹了Python之tkinter文字區(qū)域Text使用及說明,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05淺談python裝飾器探究與參數(shù)的領(lǐng)取
下面小編就為大家分享一篇淺談python裝飾器探究與參數(shù)的領(lǐng)取,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2017-12-12使用sklearn之LabelEncoder將Label標(biāo)準(zhǔn)化的方法
今天小編就為大家分享一篇使用sklearn之LabelEncoder將Label標(biāo)準(zhǔn)化的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07Python中def()函數(shù)的實(shí)戰(zhàn)練習(xí)題
def是define的縮寫,用來自定義函數(shù),下面這篇文章主要給大家介紹了關(guān)于Python中def()函數(shù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07