0
点赞
收藏
分享

微信扫一扫

用python实现自动签到脚本


1. 闲来无事,于是乎写个脚本研究一下自动打卡。

2. 签到原理:

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

3. 需要的环境selenium

pip install selenium

4. 安装模拟的插件

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

用python实现自动签到脚本_chrome

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

用python实现自动签到脚本_模拟点击_02

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. 更新,创建定时任务运行脚本



举报

相关推荐

0 条评论