教你用python編寫腳本實(shí)現(xiàn)自動(dòng)簽到
1. 背景原因
最近才上班,要求每天打卡!我老是忘記,于是乎搞個(gè)腳本進(jìn)行自動(dòng)簽到。
2. 簽到原理
模擬用戶進(jìn)行自行輸入,然后登錄,然后簽到,在研究過(guò)程中使用到了python的selenium
包,本人在win10環(huán)境中進(jìn)行測(cè)試使用,可以實(shí)現(xiàn)基本的自動(dòng)打卡。
3. 需要的環(huán)境selenium
pip install selenium
4. 安裝模擬的插件
需要從網(wǎng)上下載模擬點(diǎn)擊瀏覽器的google瀏覽器插件chromedriver.exe
,下載鏈接:https://npm.taobao.org/mirrors/chromedriver/,需要找到與自己瀏覽器適配的插件。(如何查看自己Chrome適配的插件版本?如圖:)
5. 下載完成
將插件放到Chrome.exe所在的文件夾下,如圖:
6.正題
開(kāi)始工作結(jié)束,接下來(lái)進(jìn)入代碼正題:
import time import datetime import random from selenium import webdriver def morning_clockin(): # 找到插件的路徑,使用它驅(qū)動(dòng)操作 browser = webdriver.Chrome('C:\Program Files\Google\Chrome\Application\chromedriver.exe') # 選擇需要打卡的網(wǎng)址,填入你的簽到網(wǎng)頁(yè) browser.get('https://www.baudu.login') # 找到郵件和密碼輸入框的xpath,并在對(duì)應(yīng)的位置送入賬號(hào)密碼 browser.find_element_by_xpath('//*[@id="email"]').send_keys("724183***@qq.com") browser.find_element_by_xpath('//*[@id="passwd"]').send_keys("zhan******") # 找到登錄按鈕的xpath,模擬點(diǎn)擊 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("今天是本周的第 {} 天,無(wú)需打卡!".format(datetime.datetime.now().weekday() + 1)) # 工作日打卡 else: # 早上打卡---設(shè)置0-300秒之間隨機(jī)數(shù)打卡 print(datetime.datetime.now()) random_time = random.randint(0, 60) time.sleep(random_time) # 進(jìn)行打卡 morning_clockin() print(datetime.datetime.now())
7. 完工!
如果有驗(yàn)證碼,可以使用帶驗(yàn)證碼的百度插件api進(jìn)行調(diào)用,我是純內(nèi)部系統(tǒng)無(wú)驗(yàn)證碼,沒(méi)研究驗(yàn)證碼部分。最后剩下的就是寫定時(shí)任務(wù)了,參考網(wǎng)上博客即可!
附帶一篇寫的很詳細(xì)的Selenium WebDriver教程!傳送門
8. 更新
創(chuàng)建定時(shí)任務(wù)運(yùn)行腳本
傳送門:http://www.dbjr.com.cn/article/220745.htm
到此這篇關(guān)于教你用python編寫腳本實(shí)現(xiàn)自動(dòng)簽到的文章就介紹到這了,更多相關(guān)Python簽到內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 如何給windows設(shè)置定時(shí)任務(wù)并運(yùn)行python腳本
- linux每天定時(shí)備份數(shù)據(jù)庫(kù)并刪除十天前數(shù)據(jù)詳細(xì)步驟
- linux實(shí)現(xiàn)mysql數(shù)據(jù)庫(kù)每天自動(dòng)備份定時(shí)備份
- Linux shell實(shí)現(xiàn)每天定時(shí)備份mysql數(shù)據(jù)庫(kù)
- MySQL定時(shí)備份之使用Linux下的crontab定時(shí)備份實(shí)例
- Linux VPS備份教程 數(shù)據(jù)庫(kù)/網(wǎng)站文件自動(dòng)定時(shí)備份
相關(guān)文章
Flask交互基礎(chǔ)(GET、 POST 、PUT、 DELETE)的使用
這篇文章主要介紹了Flask交互基礎(chǔ)(GET、 POST 、PUT、 DELETE)的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04利用Tensorflow的隊(duì)列多線程讀取數(shù)據(jù)方式
今天小編就為大家分享一篇利用Tensorflow的隊(duì)列多線程讀取數(shù)據(jù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02python 實(shí)現(xiàn)德洛內(nèi)三角剖分的操作
這篇文章主要介紹了python 實(shí)現(xiàn)德洛內(nèi)三角剖分的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-04-04python使用百度或高德地圖獲取地理位置并轉(zhuǎn)換
用python處理地理位置是非常常見(jiàn)的需求,下面這篇文章主要給大家介紹了關(guān)于python使用百度或高德地圖獲取地理位置并轉(zhuǎn)換的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07python中numpy數(shù)組與list相互轉(zhuǎn)換實(shí)例方法
在本篇文章里小編給大家整理的是一篇關(guān)于python中numpy數(shù)組與list相互轉(zhuǎn)換實(shí)例方法,對(duì)此有興趣的朋友們可以學(xué)習(xí)下。2021-01-01快速解決PyCharm無(wú)法引用matplotlib的問(wèn)題
今天小編就為大家分享一篇快速解決PyCharm無(wú)法引用matplotlib的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-05-05Python實(shí)現(xiàn)創(chuàng)建模塊的方法詳解
導(dǎo)入一個(gè)模塊,我們一般都會(huì)使用?import?關(guān)鍵字,但有些場(chǎng)景下?import?難以滿足我們的需要。所以除了?import?之外還有很多其它導(dǎo)入模塊的方式,下面就來(lái)介紹一下2022-07-07