python+selenium 簡(jiǎn)易地疫情信息自動(dòng)打卡簽到功能的實(shí)現(xiàn)代碼
由于學(xué)校要求我們每天都要在官網(wǎng)打卡簽到疫情信息,多多少少得花個(gè)1分鐘操作,程序員的尊嚴(yán)告訴我們堅(jiān)決不能手動(dòng)打卡。正巧最近學(xué)了selenium,于是畫(huà)了個(gè)5分鐘寫(xiě)了個(gè)自動(dòng)打卡簽到地小程序。
測(cè)試環(huán)境:python3.7 , selenium,chrome瀏覽器
seleium和chromedriver的配置在這里就不講了,這里放個(gè)連接
首先找到學(xué)校信息門(mén)戶的登錄頁(yè):
http://my.hhu.edu.cn/login.portal
#導(dǎo)入selenium中的webdriver from selenium import webdriver import time url = 'http://my.hhu.edu.cn/login.portal' #信息門(mén)戶的登陸頁(yè)面 driver = webdriver.Chrome() # 初始化一個(gè)Chrome的驅(qū)動(dòng) driver.get(url) # 讓自動(dòng)化模塊控制的Chrome瀏覽器跳轉(zhuǎn)到信息門(mén)戶登陸頁(yè)面
這時(shí)候就該模擬登錄了,首先找到用戶名的input框。按ctrl+shift+c,打開(kāi)開(kāi)發(fā)者工具,點(diǎn)擊用戶名右邊的input框,即可在右邊的開(kāi)發(fā)者工具中找到input框?qū)?yīng)的代碼。
右擊該模塊,點(diǎn)擊copy->copy Xpath 。(Xpath是用來(lái)定位該input控件位置的)
root = '' #賦值自己的用戶名 password = '' # 賦值自己的密碼 driver.find_element_by_xpath('//*[@id="username"]').send_keys(root) #將xpath賦值在前面的括號(hào)中,通過(guò)send_keys方法給input賦值 #類似的,賦值密碼框的xpath,賦值密碼 driver.find_element_by_xpath('//*[@id="password"]').send_keys(password)
賬號(hào)密碼輸完了,就該點(diǎn)擊登陸了。按ctrl+shift+c,點(diǎn)擊登錄按鈕,在右邊的開(kāi)發(fā)者工具對(duì)應(yīng)的代碼塊右鍵copy->copy xpath,獲得button的xpath。
driver.find_element_by_xpath('//*[@id="changeBack"]/tbody/tr/td[2]/table[1]/tbody/tr[2]/td/div/input[1]').click() #通過(guò)click方法點(diǎn)擊登錄框,跳轉(zhuǎn)到登陸后的頁(yè)面
在登陸后的頁(yè)面中,找到了健康上報(bào)的功能框。點(diǎn)擊該功能框,發(fā)現(xiàn)頁(yè)面跳轉(zhuǎn)到了簽到頁(yè)面:
復(fù)制該頁(yè)面的網(wǎng)址,讓程序在登陸后跳轉(zhuǎn)到該頁(yè)面:
form = 'http://form.hhu.edu.cn/pdc/form/list' driver.get(form)
讓程序點(diǎn)擊“本科生健康打卡:
driver.find_element_by_xpath('/html/body/div[1]/div[4]/div/section/section/div/a/div[2]').click()
會(huì)跳轉(zhuǎn)到以下的頁(yè)面
點(diǎn)擊提交,即完成簽到
driver.find_element_by_xpath('//*[@id="saveBtn"]').click()
完整的程序:
from selenium import webdriver import time root = '' password = '' url = 'http://my.hhu.edu.cn/login.portal' driver = webdriver.Chrome() driver.get(url) driver.find_element_by_xpath('//*[@id="username"]').send_keys(root) driver.find_element_by_xpath('//*[@id="password"]').send_keys(password) driver.find_element_by_xpath('//*[@id="changeBack"]/tbody/tr/td[2]/table[1]/tbody/tr[2]/td/div/input[1]').click() form = 'http://form.hhu.edu.cn/pdc/form/list' driver.get(form) driver.find_element_by_xpath('/html/body/div[1]/div[4]/div/section/section/div/a/div[2]').click() driver.find_element_by_xpath('//*[@id="saveBtn"]').click()
總結(jié)
到此這篇關(guān)于python+selenium 簡(jiǎn)易地疫情信息自動(dòng)打卡簽到功能的實(shí)現(xiàn)代碼的文章就介紹到這了,更多相關(guān)python selenium自動(dòng)打卡簽到內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決Python2.7中IDLE啟動(dòng)沒(méi)有反應(yīng)的問(wèn)題
今天小編就為大家分享一篇解決Python2.7中IDLE啟動(dòng)沒(méi)有反應(yīng)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-11-11詳解Python實(shí)現(xiàn)按任意鍵繼續(xù)/退出的功能
在學(xué)Python時(shí)在總想實(shí)現(xiàn)一個(gè)按任意鍵繼續(xù)/退出的程序(受.bat毒害), 奈何一直沒(méi)有寫(xiě),今天抽時(shí)間寫(xiě)出來(lái)了,下面分享給大家,有需要的可以參考借鑒。2016-08-08Python實(shí)現(xiàn)的批量修改文件后綴名操作示例
這篇文章主要介紹了Python實(shí)現(xiàn)的批量修改文件后綴名操作,涉及Python目錄文件的遍歷、重命名等相關(guān)操作技巧,需要的朋友可以參考下2018-12-12TensorFlow安裝并在Pycharm搭建環(huán)境的詳細(xì)圖文教程
今天動(dòng)手開(kāi)始搭建TensorFlow開(kāi)發(fā)環(huán)境,所以下面這篇文章主要給大家介紹了關(guān)于TensorFlow安裝并在Pycharm搭建環(huán)境的詳細(xì)圖文教程,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2022-11-11Django+Ajax異步刷新/定時(shí)自動(dòng)刷新實(shí)例詳解
AJAX是前端技術(shù)的集合,包括JavaScript、XML、HTML、CSS等,下面這篇文章主要給大家介紹了關(guān)于Django+Ajax異步刷新/定時(shí)自動(dòng)刷新的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-10-10Python中實(shí)現(xiàn)兩個(gè)字典(dict)合并的方法
這篇文章主要介紹了Python中實(shí)現(xiàn)兩個(gè)字典(dict)合并的方法,是Python程序設(shè)計(jì)中非常實(shí)用的技巧,需要的朋友可以參考下2014-09-09PyTorch 隨機(jī)數(shù)生成占用 CPU 過(guò)高的解決方法
今天小編就為大家分享一篇PyTorch 隨機(jī)數(shù)生成占用 CPU 過(guò)高的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01