溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python3如何實現(xiàn)自動簽到、定時任務(wù)、判斷節(jié)假日

發(fā)布時間:2021-07-23 14:18:14 來源:億速云 閱讀:160 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹Python3如何實現(xiàn)自動簽到、定時任務(wù)、判斷節(jié)假日,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

簽到代碼,只需修改url,賬號,密碼即可,此處是登錄時無驗證登錄,有驗證碼的自行補充

 # -*- coding:utf-8 -*- 
import json
import urllib.request
import datetime
 
# 模擬瀏覽器打開網(wǎng)站
browser = webdriver.Chrome()
browser.get('http://**.**.121.54/')
# 將窗口最大化
 browser.maximize_window()
     
# 根據(jù)路徑找到按鈕,并模擬進行點擊
browser.find_element_by_id('btn').click()
# 延時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")
# 在輸入用戶名和密碼之后,點擊登陸按鈕
browser.find_element_by_id('btn').click()
time.sleep(2)    
# 點擊登陸后的頁面中的簽到,跳轉(zhuǎn)到簽到頁面
browser.find_element_by_id("signInCoin").click()
    time.sleep(2)   
# 這個print其實沒事什么用,如果真的要測試腳本是否運行成功,可以用try來拋出異常
print("簽到成功")
     
# 腳本運行成功,退出瀏覽器
browser.quit()

定時任務(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)
 #時間到執(zhí)行方法
 doFunc()
 
if __name__ == "__main__":
 doFirst()

判斷當前日期是否是節(jié)假日

1、接口地址:http://api.goseek.cn/Tools/holiday?date=數(shù)字日期

2、返回數(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ù)最新

#獲取當前時間 格式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ù)當前日期是否是節(jié)假日進行,自動簽到打卡案例

# -*- coding:utf-8 -*- 
import json
import urllib.request
import datetime
 
# 方便延時加載
import time
from selenium import webdriver
 
SECONDS_PER_DAY = 24 * 60 * 60
 
##定時執(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ù)路徑找到按鈕,并模擬進行點擊
    browser.find_element_by_id('btn').click()
    # 延時2秒,以便網(wǎng)頁加載所有元素,避免之后找不到對應(yīng)的元素
    time.sleep(2)
     
    # 格式是PEP8自動轉(zhuǎn)的
    # 這里是找到輸入框,發(fā)送要輸入的用戶名和密碼,模擬登陸
    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)    
    # 點擊登陸后的頁面中的簽到,跳轉(zhuǎn)到簽到頁面
    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如何實現(xiàn)自動簽到、定時任務(wù)、判斷節(jié)假日”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI