教你用python编写脚本实现自动签到

 更新时间:2021年08月25日 14:55:05   作者:Cresyeal  
这篇文章主要介绍了教你怎样用python编写脚本实现自动签到,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

1. 背景原因

最近才上班,要求每天打卡!我老是忘记,于是乎搞个脚本进行自动签到。

2. 签到原理

模拟用户进行自行输入,然后登录,然后签到,在研究过程中使用到了python的selenium包,本人在win10环境中进行测试使用,可以实现基本的自动打卡。

3. 需要的环境selenium

pip install selenium

4. 安装模拟的插件

需要从网上下载模拟点击浏览器的google浏览器插件chromedriver.exe,下载链接:https://npm.taobao.org/mirrors/chromedriver/,需要找到与自己浏览器适配的插件。(如何查看自己Chrome适配的插件版本?如图:)

在这里插入图片描述

5. 下载完成

将插件放到Chrome.exe所在的文件夹下,如图:

在这里插入图片描述

6.正题

开始工作结束,接下来进入代码正题:

import time
import datetime
import random
from selenium import webdriver


def morning_clockin():
	# 找到插件的路径,使用它驱动操作
    browser = webdriver.Chrome('C:\Program Files\Google\Chrome\Application\chromedriver.exe')
	
	# 选择需要打卡的网址,填入你的签到网页
    browser.get('https://www.baudu.login')
	
	# 找到邮件和密码输入框的xpath,并在对应的位置送入账号密码
    browser.find_element_by_xpath('//*[@id="email"]').send_keys("724183***@qq.com")
    browser.find_element_by_xpath('//*[@id="passwd"]').send_keys("zhan******")
	
	# 找到登录按钮的xpath,模拟点击
    browser.find_element_by_xpath('//*[@id="login"]').click()
    time.sleep(2)
    # 找到签到按钮的xpath,模拟签到
    browser.find_element_by_xpath('/html/body/div[3]/div[7]/div/button').click()


if __name__ == '__main__':
	# 获取当天的星期,周六日不打卡
    today = datetime.datetime.now().weekday() + 1
    if (today % 7 == 0) or (today % 7 == 6):
        print("今天是本周的第 {} 天,无需打卡!".format(datetime.datetime.now().weekday() + 1))
   	# 工作日打卡
    else:
        # 早上打卡---设置0-300秒之间随机数打卡
        print(datetime.datetime.now())
        random_time = random.randint(0, 60)
        time.sleep(random_time)
        # 进行打卡
        morning_clockin()
        print(datetime.datetime.now())

7. 完工!

如果有验证码,可以使用带验证码的百度插件api进行调用,我是纯内部系统无验证码,没研究验证码部分。最后剩下的就是写定时任务了,参考网上博客即可!

附带一篇写的很详细的Selenium WebDriver教程!传送门

8. 更新

创建定时任务运行脚本

传送门:https://www.jb51.net/article/220745.htm

到此这篇关于教你用python编写脚本实现自动签到的文章就介绍到这了,更多相关Python签到内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 使用Python编写文件重复检查器的完整代码

    使用Python编写文件重复检查器的完整代码

    在日常工作中,我们经常需要处理大量文件,但有时候会遇到文件重复的情况,为了有效管理文件并避免重复占用存储空间,我们可以编写一个简单的Python程序来检查文件夹中是否存在重复文件,本文将介绍如何使用Python和其库来编写一个文件重复检查器
    2024-08-08
  • Python3 实现文件批量重命名示例代码

    Python3 实现文件批量重命名示例代码

    在Python中os模块里,os.renames() 方法用于递归重命名目录或文件。这篇文章主要介绍了Python3 文件批量重命名操作示例,需要的朋友可以参考下
    2019-06-06
  • python实现简单的socket server实例

    python实现简单的socket server实例

    这篇文章主要介绍了python实现简单的socket server的方法,实例分析了Python中socket的操作技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • python中进程间通信详细介绍

    python中进程间通信详细介绍

    大家好,本篇文章主要讲的是python中进程间通信详细介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • Python格式化输出字符串的五种方法总结

    Python格式化输出字符串的五种方法总结

    Python语言有许多优点,常用于不同的领域,如数据科学、web开发、自动化运维等。本文将学习如何使用字符串中内置的方法来格式化字符串,感兴趣的可以了解一下
    2022-06-06
  • python爬虫selenium模块详解

    python爬虫selenium模块详解

    这篇文章主要介绍了python爬虫selenium模块详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • Java中MultipartFile与File互转的实现

    Java中MultipartFile与File互转的实现

    本文主要介绍了Java中MultipartFile与File互转的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • 详解Python中@staticmethod和@classmethod区别及使用示例代码

    详解Python中@staticmethod和@classmethod区别及使用示例代码

    这篇文章主要介绍了详解Python中@staticmethod和@classmethod区别及使用示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Python按条件删除Excel表格数据的方法(示例详解)

    Python按条件删除Excel表格数据的方法(示例详解)

    本文介绍基于Python语言,读取Excel表格文件,基于我们给定的规则,对其中的数据加以筛选,将不在指定数据范围内的数据剔除,保留符合我们需要的数据的方法,感兴趣的朋友跟随小编一起看看吧
    2024-08-08
  • 使用Python获取公众号下所有的文章

    使用Python获取公众号下所有的文章

    我比较喜欢看公众号,有时遇到一个感兴趣的公众号时,都会感觉相逢恨晚,想一口气看完所有历史文章。本文主要介绍了使用Python获取公众号下所有的文章,感兴趣的可以了解一下
    2021-06-06

最新评论