您好,登錄后才能下訂單哦!
這篇文章主要介紹Python3如何實現自動簽到、定時任務、判斷節假日,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
簽到代碼,只需修改url,賬號,密碼即可,此處是登錄時無驗證登錄,有驗證碼的自行補充
# -*- coding:utf-8 -*- import json import urllib.request import datetime # 模擬瀏覽器打開網站 browser = webdriver.Chrome() browser.get('http://**.**.121.54/') # 將窗口最大化 browser.maximize_window() # 根據路徑找到按鈕,并模擬進行點擊 browser.find_element_by_id('btn').click() # 延時2秒,以便網頁加載所有元素,避免之后找不到對應的元素 time.sleep(2) # 這里是找到輸入框,發送要輸入的用戶名和密碼,模擬登陸 browser.find_element_by_id( "username").send_keys("123456") browser.find_element_by_id( "password").send_keys("123456") # 在輸入用戶名和密碼之后,點擊登陸按鈕 browser.find_element_by_id('btn').click() time.sleep(2) # 點擊登陸后的頁面中的簽到,跳轉到簽到頁面 browser.find_element_by_id("signInCoin").click() time.sleep(2) # 這個print其實沒事什么用,如果真的要測試腳本是否運行成功,可以用try來拋出異常 print("簽到成功") # 腳本運行成功,退出瀏覽器 browser.quit()
定時任務代碼
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) #時間到執行方法 doFunc() if __name__ == "__main__": doFirst()
判斷當前日期是否是節假日
1、接口地址:http://api.goseek.cn/Tools/holiday?date=數字日期
2、返回數據:工作日對應結果為 0, 休息日對應結果為 1, 節假日對應的結果為 2
3、節假日數據說明:本接口包含2017年起的中國法定節假日數據,數據來源國務院發布的公告,每年更新1次,確保數據最新
#獲取當前時間 格式20180213 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()) #打印返回的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')
根據當前日期是否是節假日進行,自動簽到打卡案例
# -*- coding:utf-8 -*- import json import urllib.request import datetime # 方便延時加載 import time from selenium import webdriver SECONDS_PER_DAY = 24 * 60 * 60 ##定時執行的任務 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')#現在 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: # 模擬瀏覽器打開網站 browser = webdriver.Chrome() browser.get('http://***.***.***.***/') # 將窗口最大化 browser.maximize_window() # 根據路徑找到按鈕,并模擬進行點擊 browser.find_element_by_id('btn').click() # 延時2秒,以便網頁加載所有元素,避免之后找不到對應的元素 time.sleep(2) # 格式是PEP8自動轉的 # 這里是找到輸入框,發送要輸入的用戶名和密碼,模擬登陸 browser.find_element_by_id( "username").send_keys("123456") browser.find_element_by_id( "password").send_keys("123456") # 在輸入用戶名和密碼之后,點擊登陸按鈕 browser.find_element_by_id('btn').click() time.sleep(2) # 點擊登陸后的頁面中的簽到,跳轉到簽到頁面 browser.find_element_by_id("signInCoin").click() time.sleep(2) # 這個print其實沒事什么用,如果真的要測試腳本是否運行成功,可以用try來拋出異常 print("簽到成功") # 腳本運行成功,退出瀏覽器 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如何實現自動簽到、定時任務、判斷節假日”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。