Python3自动签到 定时任务 判断节假日的实例
程序员文章站
2023-11-14 20:26:16
不废话,直接上代码python3.6
签到代码,只需修改url,账号,密码即可,此处是登录时无验证登录,有验证码的自行补充
# -*- coding:ut...
不废话,直接上代码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自动签到 定时任务 判断节假日的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
上一篇: ajax回调函数中使用$(this)取不到对象的解决方法
下一篇: 两条思科交换机的设置与技巧