Python3自动签到 定时任务 判断节假日的实例


Posted in Python onNovember 13, 2018

不废话,直接上代码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自动签到 定时任务 判断节假日的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python GAE、Django导出Excel的方法
Nov 24 Python
python利用hook技术破解https的实例代码
Mar 25 Python
pyqt4教程之实现windows窗口小示例分享
Mar 07 Python
Python SQLite3数据库日期与时间常见函数用法分析
Aug 14 Python
python 获取utc时间转化为本地时间的方法
Dec 31 Python
对Python生成汉字字库文字,以及转换为文字图片的实例详解
Jan 29 Python
Python Multiprocessing多进程 使用tqdm显示进度条的实现
Aug 13 Python
python如果快速判断数字奇数偶数
Nov 13 Python
Python pandas RFM模型应用实例详解
Nov 20 Python
Python递归及尾递归优化操作实例分析
Feb 01 Python
python爬取豆瓣电影排行榜(requests)的示例代码
Feb 18 Python
7个关于Python的经典基础案例
Nov 07 Python
python判断输入日期为第几天的实例
Nov 13 #Python
python使用循环打印所有三位数水仙花数的实例
Nov 13 #Python
Python判断一个三位数是否为水仙花数的示例
Nov 13 #Python
Python一句代码实现找出所有水仙花数的方法
Nov 13 #Python
python简易实现任意位数的水仙花实例
Nov 13 #Python
python找出完数的方法
Nov 12 #Python
python 获取一个值在某个区间的指定倍数的值方法
Nov 12 #Python
You might like
PHP实现懒加载的方法
2015/03/07 PHP
Yii2框架中一些折磨人的坑
2019/12/15 PHP
jQuery 性能优化指南(2)
2009/05/21 Javascript
XMLHttpRequest处理xml格式的返回数据(示例代码)
2013/11/21 Javascript
javascript数组操作(创建、元素删除、数组的拷贝)
2014/04/07 Javascript
js加入收藏夹代码(兼容ie/ff/op)
2014/05/16 Javascript
json+jQuery实现的无限级树形菜单效果代码
2015/08/27 Javascript
JS实现仿Windows经典风格的选项卡Tab切换代码
2015/10/20 Javascript
盘点javascript 正则表达式中 中括号的【坑】
2016/03/16 Javascript
简单理解JavaScript中的封装与继承特性
2016/03/19 Javascript
微信小程序 缓存(本地缓存、异步缓存、同步缓存)详解
2017/01/17 Javascript
angular directive的简单使用总结
2017/05/24 Javascript
浅谈关于JS下大批量异步任务按顺序执行解决方案一点思考
2019/01/08 Javascript
javascript随机变色实例代码
2019/10/15 Javascript
javascript设计模式 ? 装饰模式原理与应用实例分析
2020/04/14 Javascript
Python中动态获取对象的属性和方法的教程
2015/04/09 Python
Django 使用Ajax进行前后台交互的示例讲解
2018/05/28 Python
Python实现的远程登录windows系统功能示例
2018/06/21 Python
利用Python将数值型特征进行离散化操作的方法
2018/11/06 Python
matlab中二维插值函数interp2的使用详解
2020/04/22 Python
Python通过队列来实现进程间通信的示例
2020/10/14 Python
AC Lens:购买隐形眼镜
2017/02/26 全球购物
享誉全球的多元化时尚精品购物平台:Farfetch发发奇(支持中文)
2017/08/08 全球购物
欧尚俄罗斯网上超市:Auchan俄罗斯
2018/05/03 全球购物
美国鲍勃商店:Bob’s Stores
2018/07/22 全球购物
一些Solaris面试题
2013/03/22 面试题
智乐游戏测试笔试题
2014/05/21 面试题
Java基础知识面试题
2014/03/25 面试题
司机辞职报告范文
2014/01/20 职场文书
《乡下孩子》教学反思
2014/04/17 职场文书
四风个人对照检查材料思想汇报(办公室通用版)
2014/10/07 职场文书
工作调动申请报告
2015/05/18 职场文书
辞职信怎么写?
2019/05/21 职场文书
Nginx 负载均衡是什么以及该如何配置
2021/03/31 Servers
golang goroutine顺序输出方式
2021/04/29 Golang
Spring Bean是如何初始化的详解
2022/03/22 Java/Android