【相關學習推薦:python影片教學】
由於學校要求我們每天都要在官網打卡簽到疫情訊息,多多少少得花個1分鐘操作,程式設計師的尊嚴告訴我們堅決不能手動打卡。正巧最近學了selenium,於是畫了個5分鐘寫了個自動打卡簽到地小程式。
測試環境:python3.7 , selenium,chrome瀏覽器
seleium和chromedriver的配置在這裡就不講了,這裡放個連接
#首先找到學校信息入口網站的登入頁:
#导入selenium中的webdriver from selenium import webdriver import time url = 'http://my.hhu.edu.cn/login.portal' #信息门户的登陆页面 driver = webdriver.Chrome() # 初始化一个Chrome的驱动 driver.get(url) # 让自动化模块控制的Chrome浏览器跳转到信息门户登陆页面
這時候就該模擬登入了,先找到使用者名稱的input框。按ctrl shift c,開啟開發者工具,點選使用者名稱右邊的input框,即可在右邊的開發者工具中找到input框對應的程式碼。
右鍵點選模組,點選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,點選登入按鈕,在右邊的開發者工具對應的程式碼區塊右鍵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方法点击登录框,跳转到登陆后的页面
在登陸後的頁面中,找到了健康回報的功能方塊。點擊該功能框,發現頁面跳到了簽到頁面:
複製該頁面的網址,讓程式在登陸後跳到該頁面:
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()
完整的程序:
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實現簡易地疫情資訊自動打卡簽到功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!