不废话,直接上代码Python3.6
签到代码,只需修改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自动签到 定时任务 判断节假日的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
继续阅读与本文标签相同的文章
-
ASP.NET Core on K8S深入学习(8)数据管理
2026-05-19栏目: 教程
-
AI翻译新思路,OBTranslate打破非洲城乡居民之间的沟通差距
2026-05-19栏目: 教程
-
物联网平台实用技巧:调用API获取设备状态
2026-05-19栏目: 教程
-
路漫漫其修远兮,吾将上下而求索
2026-05-19栏目: 教程
-
Kerberos使用OpenLDAP作为backend
2026-05-19栏目: 教程
