python+selenium 簡易地疫情信息自動打卡簽到功能的實現(xiàn)代碼
由于學(xué)校要求我們每天都要在官網(wǎng)打卡簽到疫情信息,多多少少得花個1分鐘操作,程序員的尊嚴(yán)告訴我們堅決不能手動打卡。正巧最近學(xué)了selenium,于是畫了個5分鐘寫了個自動打卡簽到地小程序。
測試環(huán)境:python3.7 , selenium,chrome瀏覽器
seleium和chromedriver的配置在這里就不講了,這里放個連接
首先找到學(xué)校信息門戶的登錄頁:
http://my.hhu.edu.cn/login.portal
#導(dǎo)入selenium中的webdriverfrom selenium import webdriverimport timeurl = ’http://my.hhu.edu.cn/login.portal’ #信息門戶的登陸頁面driver = webdriver.Chrome() # 初始化一個Chrome的驅(qū)動driver.get(url) # 讓自動化模塊控制的Chrome瀏覽器跳轉(zhuǎn)到信息門戶登陸頁面
這時候就該模擬登錄了,首先找到用戶名的input框。按ctrl+shift+c,打開開發(fā)者工具,點(diǎn)擊用戶名右邊的input框,即可在右邊的開發(fā)者工具中找到input框?qū)?yīng)的代碼。
右擊該模塊,點(diǎn)擊copy->copy Xpath 。(Xpath是用來定位該input控件位置的)
root = ’’ #賦值自己的用戶名password = ’’ # 賦值自己的密碼driver.find_element_by_xpath(’//*[@id='username']’).send_keys(root) #將xpath賦值在前面的括號中,通過send_keys方法給input賦值#類似的,賦值密碼框的xpath,賦值密碼driver.find_element_by_xpath(’//*[@id='password']’).send_keys(password)
賬號密碼輸完了,就該點(diǎn)擊登陸了。按ctrl+shift+c,點(diǎn)擊登錄按鈕,在右邊的開發(fā)者工具對應(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()#通過click方法點(diǎn)擊登錄框,跳轉(zhuǎn)到登陸后的頁面
在登陸后的頁面中,找到了健康上報的功能框。點(diǎn)擊該功能框,發(fā)現(xiàn)頁面跳轉(zhuǎn)到了簽到頁面:
復(fù)制該頁面的網(wǎng)址,讓程序在登陸后跳轉(zhuǎn)到該頁面:
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()
會跳轉(zhuǎn)到以下的頁面
點(diǎn)擊提交,即完成簽到
driver.find_element_by_xpath(’//*[@id='saveBtn']’).click()
完整的程序:
from selenium import webdriverimport timeroot = ’’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 簡易地疫情信息自動打卡簽到功能的實現(xiàn)代碼的文章就介紹到這了,更多相關(guān)python selenium自動打卡簽到內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. ASP動態(tài)網(wǎng)頁制作技術(shù)經(jīng)驗分享2. jsp文件下載功能實現(xiàn)代碼3. asp.net core項目授權(quán)流程詳解4. 在JSP中使用formatNumber控制要顯示的小數(shù)位數(shù)方法5. CSS3實現(xiàn)動態(tài)翻牌效果 仿百度貼吧3D翻牌一次動畫特效6. XMLHTTP資料7. ASP常用日期格式化函數(shù) FormatDate()8. html中的form不提交(排除)某些input 原創(chuàng)9. CSS3中Transition屬性詳解以及示例分享10. ASP基礎(chǔ)入門第八篇(ASP內(nèi)建對象Application和Session)
