文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2024-04-02 19:55

关注

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签到内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯