如何通过Python实现定时打卡小程序

目录结构:

只需在自己的python项目下随便创建一个文件夹(下图中为:daka),然后将下载的chromedriver.exe、ask_for_leave.py、log.txt(此文件夹为空,保存运行程序时的日志信息,直接在文件夹下创建一个名为log.txt的文件夹即可)。

chromedriver.exe

此文件是google浏览器的驱动文件,可在下载地址上选择与自己电脑上的google浏览器相同版本的驱动。

如何查看google浏览器版本

第一步:打开Chrome浏览器

第二步:点击右上角三个点,选择“设置”

第三步:点击“关于Chrome”

第四步:得到Chrome版本号

ask_for_leave.py(只需修改标注修改的两个地方)

from selenium import webdriver
from time import sleep
from selenium.webdriver.common.keys import Keys
import datetime
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.support.select import Select
from selenium.webdriver.chrome.options import Options
def qinjia(browser,url):
    browser.get(url)
    sleep(1)
    browser.implicitly_wait(3)
    WebDriverWait(browser,5).until(EC.presence_of_all_elements_located((By.ID,"user_main")))
    user_main_div=browser.find_element_by_id("user_main")
    username_input=user_main_div.find_element_by_id("txtId")   #用户名
    password_input=user_main_div.find_element_by_id("txtMM")    #密码
    login_btn=user_main_div.find_element_by_id("IbtnEnter")   #登录按钮

    # 修改1:此处的账号和密码
    username_input.send_keys("==================账号===================")
    password_input.send_keys("==================密码===================")
    login_btn.click()

    sleep(1)
    browser.implicitly_wait(3)
    WebDriverWait(browser, 5).until(EC.presence_of_all_elements_located((By.CLASS_NAME, "tabThinM")))
    table_tag=browser.find_element_by_class_name("tabThinM")
    href_body=table_tag.find_elements_by_tag_name("tbody")[2]
    href=href_body.find_elements_by_tag_name("tr")[1].find_element_by_tag_name("a").get_attribute("href")
    browser.get(href)

    table_wjTA=browser.find_element_by_id("wjTA")

    div_gerenjiankang=table_wjTA.find_elements_by_class_name("dvO")[0]  #个人健康
    div_shenqing=table_wjTA.find_elements_by_class_name("dvO")[1]       #申请进入

    # 个人健康
    selects_tag=div_gerenjiankang.find_elements_by_tag_name("select")
    work_station_select=selects_tag[2]
    health_station_select=selects_tag[3]
    live_station_select=selects_tag[4]
    family_station_select=selects_tag[5]

    Select(work_station_select).select_by_value("1")
    Select(health_station_select).select_by_value("1")
    Select(live_station_select).select_by_value("1")
    Select(family_station_select).select_by_value("1")

    #申请进入
    select_shenqin_time_tags=div_shenqing.find_elements_by_tag_name("select")

    input_shenqin_reaseons_tags=div_shenqing.find_elements_by_tag_name("input")
    target_place_input=input_shenqin_reaseons_tags[0]
    reason_input=input_shenqin_reaseons_tags[1]
    # 修改2:成此处的申请目的地和事由
    target_place_input.send_keys("=====================申请目的========================")
    reason_input.send_keys("==========================事由===============================")

    Select(select_shenqin_time_tags[0]).select_by_value("1")
    Select(select_shenqin_time_tags[1]).select_by_value("06")
    Select(select_shenqin_time_tags[2]).select_by_value("3")
    Select(select_shenqin_time_tags[3]).select_by_value("23")

    submit_input=browser.find_element_by_tag_name("input")
    submit_input.click()

def log(message):
    curent_time = datetime.datetime.now()
    print(curent_time)

    f = open("log.txt", "a+", encoding="utf-8")

    f.write(str(curent_time) + ":  "+message+"\n")
    f.close()
def headLessChrome():
    chrome_driver = r"chromedriver.exe"
    chrome_options=Options()
    chrome_options.add_argument("--headless")
    chrome_options.add_argument("--disable-gpu")
    browser=webdriver.Chrome(options=chrome_options, executable_path=chrome_driver)
    return browser
if __name__ == '__main__':
    url="http://login.cuit.edu.cn/Login/xLogin/Login.asp"
    browser=headLessChrome()
    try:
        qinjia(browser,url)
        log("成功")
    except:
        log("失败")
    browser.quit()

log.txt

直接创建一个空的log.txt文件。

创建完毕之后,run一下ask_for_leave.py文件,即可运行一次。

到此这篇关于如何通过Python实现定时打卡小程序的文章就介绍到这了,更多相关Python 定时打卡小程序内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python实现简单的聊天小程序

    概要 这是一个使用python实现一个简单的聊天室的功能,里面包含群聊,私聊两种聊天方式.实现的方式是使用套接字编程的一个使用TCP协议 c/s结构的聊天室 实现思路 x01 服务端的建立 首先,在服务端,使用socket进行消息的接受,每接受一个socket的请求,就开启一个新的线程来管理消息的分发与接受,同时,又存在一个handler来管理所有的线程,从而实现对聊天室的各种功能的处理 x02 客户端的建立 客户端的建立就要比服务端简单多了,客户端的作用只是对消息的发送以及接受,以及按照特定的

  • python实现自动打卡小程序

    本文实例为大家分享了python实现自动打卡小程序的具体代码,供大家参考,具体内容如下 """ 湖南大学疫情防控每日自动打卡程序v1.0 author: Liu time:2021/3/16 """ from selenium import webdriver from selenium.webdriver.chrome.options import Options from PIL import Image from bs4 import Be

  • python实现ping命令小程序

    ping的原理是发送一个ICMP请求包,然后根据目的地址的应答包来判断是否能够和这个主机进行通信. 我们使用python实现,借助于scapy来进行编写程序. from scapy.all import * import time,struct,random # 编写ping一个包的函数. def ping_one(dst = '36.152.44.95',ttl_no = 64,id_no = 345,seq_no = 5): start_time = time.time() # 将时间转换为

  • python编写扎金花小程序的实例代码

    游戏规则: 一付扑克牌,去掉大小王,每个玩家发3张牌,最后比大小,看谁赢. 有以下几种牌: 豹子:三张一样的牌,如3张6. 顺金:又称同花顺,即3张同样花色的顺子, 如红桃 5.6.7 顺子:又称拖拉机,花色不同,但是顺子,如红桃5.方片6.黑桃7,组成的顺子 对子:2张牌一样 单张:单张最大的是A 这几种牌的大小顺序为, 豹子>顺金>顺子>对子>单张 程序需要实现的点: 先生成一付完整的扑克牌 给5个玩家随机发牌 统一开牌,比大小,输出赢家是谁 主要思路: 把各种牌用积分来计算,

  • 如何通过Python实现定时打卡小程序

    目录结构: 只需在自己的python项目下随便创建一个文件夹(下图中为:daka),然后将下载的chromedriver.exe.ask_for_leave.py.log.txt(此文件夹为空,保存运行程序时的日志信息,直接在文件夹下创建一个名为log.txt的文件夹即可). chromedriver.exe 此文件是google浏览器的驱动文件,可在下载地址上选择与自己电脑上的google浏览器相同版本的驱动. 如何查看google浏览器版本 第一步:打开Chrome浏览器 第二步:点击右上角

  • 从0到1使用python开发一个半自动答题小程序的实现

    前言 最近每天都有玩微信读书上面的每日一答的答题游戏,完全答对12题后,可以瓜分无限阅读卡.但是从小就不太爱看书的我,很难连续答对12道题,由此,产生了写一个半自动答题小程序的想法.我们先看一张效果图吧(ps 这里主要是我电脑有点卡,点击左边地选项有延迟) 项目GIthub地址:微信读书答题python小程序 觉得对你有帮助的请点个⭐来支持一下吧. 演示图: 做前准备 mumu模拟器 因为手边没有安卓手机,所以只能在模拟器上进行模拟,如果手上有安卓手机地,可以适当地修改一下程序.需要安装微信和微

  • 基于Python编写一个微博抽奖小程序

    目录 导语 开发工具 环境搭建 先睹为快 原理简介 导语 带大家写个微博自动抽奖小程序吧,motivation和之前的B站自动抽奖小程序一样: 不想内卷了,整个B站全自动抽奖的小程序吧,万一不小心暴富了呢~ 废话不多说,让我们愉快地开始吧~ 开发工具 Python版本:3.7.8 相关模块: DecryptLogin模块: DecryptLoginExamples模块: 以及一些python自带的模块. 环境搭建 安装Python并添加到环境变量,pip安装需要的相关模块即可. 先睹为快 首先,

  • 用Python抢火车票的简单小程序实现解析

    利用Python制作自动抢火车票小程序,过年再也不要担心没票了! 前言 每次过年很多人都会因为抢不到火车票而回不了家,所以小编利用Python写了一个自动抢火车票的工具,希望大家能抢到火车票,回家过个好年! 我本来想自己写一个练练手的,但是转眼一想,Python 本身最大的优势是什么,不就是有很多牛逼的人已经造好轮子了吗?你只需要知道这些轮子并会使用就行了,这样会节省你大量的精力和时间,而且站在巨人的肩膀上,会看得更远. 于是我在 github 上一搜索,果然有不少抢票程序,有的是 Python

  • Python实现注册、登录小程序功能

    主要实现功能 1.用户输入用户名,在用户名文件中查找对应的用户,若无对应用户名则打印输入错误 2.用户名输入正确后,进行密码匹配.输入密码正确则登录成功,否则重新输入. 3.连续输错三次密码则该用户名被锁,退出程序 -------------------------------------------------- 在程序文件夹下建立一个用户名.密码的文件 :user_np.txt和一个用于存放被锁用户名的文件:lock.txt ---------------------------------

  • python 写一个文件分发小程序

    一.概述 该小程序实现从源端到目标端的文件一键拷贝,源端和目标段都在一台电脑上面,只是目录不同而已 二.参数文件说明 1. settings.txt的说明 a. 通过配置settings.txt,填源端和目标端路径,如果用反斜杠结尾表示填的是文件夹,如果不是反斜杠结尾则代表填的是文件 b. 如果是按日期自动生成的文件夹,则用{YYYYMMMDD}或{MMDD}等替代 c. 文件支持*匹配任意名字 d. 在no_create_ok_file组中,表示不生成ok标识,在create_ok_file组

  • 基于Python实现的恋爱对话小程序详解

    目录 导语 一.小简介 二.代码演示 1)导入模块 2)倒计时 3)画2份不同的礼物 4)二种选择是不同的绘图倒计时之后就是绘制你回答的那个礼物. 5)弹窗设计的文字(可修改) 三.效果展示 1)视频展示 2)截图展示 导语 哈喽!大家好~我是木木子啦!自从写了一些表白类型的一些小脚本.小程序之后,越发不可收拾了,哈哈哈. 常常会有小粉丝说:这......小程序不够啊!刚表白去了,但是被拉黑了. 那我不答应了,我得努努力:多多益善给大家开发一些更有趣的各种各样的适合表白的小程序! 让每个人都争取

  • python实现日常记账本小程序

    python实现收支的自动计算,能够查询每笔账款的消费详情,具体内容如下 1.函数需要两个文件:一个类似钱包功能,存放钱:另一个用于记录每笔花销的用途 #!/usr/bin/env python import cPickle as p with open('wallet.data','w') as f: p.dump(10000,f) with open('record.txt','w') as f: pass 2.功能实现 #!!/usr/bin/env python #coding:utf8

  • Python爬虫学习之翻译小程序

    本次博客分享的内容为基于有道在线翻译实现一个实时翻译小程序,本次任务是参考小甲鱼的书<零基础入门学习Python>完成的,书中代码对于当前的有道词典并不适用,使用后无法实现翻译功能,在网上进行学习之后解决了这一问题. 2.前置工作 1)由于有道在线翻译是"反爬虫"的,所以在编写该程序的时候需要使用到User-Agent,通过使用request模块中的headers参数,对它进行适当的设置就可以将程序访问伪装为浏览器访问,有两种方法可以添加headers参数,我使用的方法是通

随机推荐