教你用python編寫腳本實現(xiàn)自動簽到
1. 背景原因
最近才上班,要求每天打卡!我老是忘記,于是乎搞個腳本進行自動簽到。
2. 簽到原理
模擬用戶進行自行輸入,然后登錄,然后簽到,在研究過程中使用到了python的selenium包,本人在win10環(huán)境中進行測試使用,可以實現(xiàn)基本的自動打卡。
3. 需要的環(huán)境selenium
pip install selenium
4. 安裝模擬的插件
需要從網(wǎng)上下載模擬點擊瀏覽器的google瀏覽器插件chromedriver.exe,下載鏈接:https://npm.taobao.org/mirrors/chromedriver/,需要找到與自己瀏覽器適配的插件。(如何查看自己Chrome適配的插件版本?如圖:)

5. 下載完成
將插件放到Chrome.exe所在的文件夾下,如圖:

6.正題
開始工作結(jié)束,接下來進入代碼正題:
import time
import datetime
import random
from selenium import webdriver
def morning_clockin():
# 找到插件的路徑,使用它驅(qū)動操作
browser = webdriver.Chrome('C:\Program Files\Google\Chrome\Application\chromedriver.exe')
# 選擇需要打卡的網(wǎng)址,填入你的簽到網(wǎng)頁
browser.get('https://www.baudu.login')
# 找到郵件和密碼輸入框的xpath,并在對應(yīng)的位置送入賬號密碼
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__':
# 獲取當(dāng)天的星期,周六日不打卡
today = datetime.datetime.now().weekday() + 1
if (today % 7 == 0) or (today % 7 == 6):
print("今天是本周的第 {} 天,無需打卡!".format(datetime.datetime.now().weekday() + 1))
# 工作日打卡
else:
# 早上打卡---設(shè)置0-300秒之間隨機數(shù)打卡
print(datetime.datetime.now())
random_time = random.randint(0, 60)
time.sleep(random_time)
# 進行打卡
morning_clockin()
print(datetime.datetime.now())
7. 完工!
如果有驗證碼,可以使用帶驗證碼的百度插件api進行調(diào)用,我是純內(nèi)部系統(tǒng)無驗證碼,沒研究驗證碼部分。最后剩下的就是寫定時任務(wù)了,參考網(wǎng)上博客即可!
附帶一篇寫的很詳細的Selenium WebDriver教程!傳送門
8. 更新
創(chuàng)建定時任務(wù)運行腳本
傳送門:http://www.fzitv.net/article/220745.htm
到此這篇關(guān)于教你用python編寫腳本實現(xiàn)自動簽到的文章就介紹到這了,更多相關(guān)Python簽到內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python實現(xiàn)簡單的socket server實例
這篇文章主要介紹了python實現(xiàn)簡單的socket server的方法,實例分析了Python中socket的操作技巧,非常具有實用價值,需要的朋友可以參考下2015-04-04
Java中MultipartFile與File互轉(zhuǎn)的實現(xiàn)
本文主要介紹了Java中MultipartFile與File互轉(zhuǎn)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03
詳解Python中@staticmethod和@classmethod區(qū)別及使用示例代碼
這篇文章主要介紹了詳解Python中@staticmethod和@classmethod區(qū)別及使用示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
Python按條件刪除Excel表格數(shù)據(jù)的方法(示例詳解)
本文介紹基于Python語言,讀取Excel表格文件,基于我們給定的規(guī)則,對其中的數(shù)據(jù)加以篩選,將不在指定數(shù)據(jù)范圍內(nèi)的數(shù)據(jù)剔除,保留符合我們需要的數(shù)據(jù)的方法,感興趣的朋友跟隨小編一起看看吧2024-08-08

