您好,登錄后才能下訂單哦!
小編給大家分享一下python+selenium如何實現(xiàn)簡易地疫情信息自動打卡簽到功能,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
【相關(guān)學(xué)習(xí)推薦:python視頻教程】
由于學(xué)校要求我們每天都要在官網(wǎng)打卡簽到疫情信息,多多少少得花個1分鐘操作,程序員的尊嚴(yán)告訴我們堅決不能手動打卡。正巧最近學(xué)了selenium,于是畫了個5分鐘寫了個自動打卡簽到地小程序。
測試環(huán)境:python3.7 , selenium,chrome瀏覽器
seleium和chromedriver的配置在這里就不講了,這里放個連接
首先找到學(xué)校信息門戶的登錄頁:
#導(dǎo)入selenium中的webdriver from selenium import webdriver import time url = 'http://my.hhu.edu.cn/login.portal' #信息門戶的登陸頁面 driver = webdriver.Chrome() # 初始化一個Chrome的驅(qū)動 driver.get(url) # 讓自動化模塊控制的Chrome瀏覽器跳轉(zhuǎn)到信息門戶登陸頁面
這時候就該模擬登錄了,首先找到用戶名的input框。按ctrl+shift+c,打開開發(fā)者工具,點擊用戶名右邊的input框,即可在右邊的開發(fā)者工具中找到input框?qū)?yīng)的代碼。
右擊該模塊,點擊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)
賬號密碼輸完了,就該點擊登陸了。按ctrl+shift+c,點擊登錄按鈕,在右邊的開發(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/p/input[1]').click() #通過click方法點擊登錄框,跳轉(zhuǎn)到登陸后的頁面
在登陸后的頁面中,找到了健康上報的功能框。點擊該功能框,發(fā)現(xiàn)頁面跳轉(zhuǎn)到了簽到頁面:
復(fù)制該頁面的網(wǎng)址,讓程序在登陸后跳轉(zhuǎn)到該頁面:
form = 'http://form.hhu.edu.cn/pdc/form/list' driver.get(form)
讓程序點擊“本科生健康打卡:
driver.find_element_by_xpath('/html/body/p[1]/p[4]/p/section/section/p/a/p[2]').click()
會跳轉(zhuǎ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/p/input[1]').click() form = 'http://form.hhu.edu.cn/pdc/form/list' driver.get(form) driver.find_element_by_xpath('/html/body/p[1]/p[4]/p/section/section/p/a/p[2]').click() driver.find_element_by_xpath('//*[@id="saveBtn"]').click()
以上是python+selenium如何實現(xiàn)簡易地疫情信息自動打卡簽到功能的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。