西安交大體溫自動填報程式!自動化就是強!
該程式僅供學習和娛樂,如果真的涉及重要疫情資訊,請如實向上填報。
-
已經安裝python。
-
需要安裝selenium庫。
-
還需要裝好瀏覽器驅動,我用的是Win7下360極速瀏覽器(360Chrome)。當然也可以選用其他的更快更好的。Win10下搭建Python3.7.1 selenium3 Chrome開發環境。最後我是下載得到的驅動命名為Chromedriver.exe然後扔到了G:/360Chrome/360Chrome/Chrome/Application目錄下。
from selenium import webdriver import os import time import random def main(): # 如果沒有將chromediriver驅動放到Python的Scripts全域性目錄,則需要指定對應的執行路徑 # 指定絕對路徑,引入chromedriver.exe chromedriver = "G:/360Chrome/360Chrome/Chrome/Application/chromedriver.exe" ## chromedriver = "G:/360Chrome/360Chrome/Chrome/Application/360chrome.exe" os.environ["webdriver.chrome.driver"] = chromedriver browser = webdriver.Chrome(chromedriver) # 如果將驅動複製到全域性目錄,則不需要指定驅動路徑,如下: ## browser = webdriver.Chrome() # 設定瀏覽器需要開啟的url url = "http://one.xjtu.edu.cn/EIP/nonlogin/user/index.htm" browser.get(url) home_page = browser.current_window_handle time.sleep(2) # 單擊登入按鈕 browser.find_element_by_css_selector("a[class=login-btn").click() time.sleep(2) # 登入 browser.find_element_by_css_selector("input[type=text").send_keys("這裡輸入學號") browser.find_element_by_css_selector("input[type=password").send_keys("這裡輸入密碼") browser.find_element_by_id("account_login").click() time.sleep(2) # 尋找並跳轉至表單 iframe1=browser.find_element_by_tag_name("iframe") browser.switch_to.frame(iframe1) # 開啟每日報標籤 browser.find_element_by_partial_link_text("健康每日報").click() time.sleep(2) # 關閉原標籤 browser.close() # 跳轉至每日報標籤 all_handles = browser.window_handles for handle in all_handles: if handle != home_page: browser.switch_to.window(handle) # 再次登入 browser.find_element_by_css_selector("input[type=text").send_keys("這裡再輸入學號") browser.find_element_by_css_selector("input[type=password").send_keys("這裡又是密碼") browser.find_element_by_id("account_login").click() time.sleep(2) # 先進入大表單,尋找“本科生每日”>iframe1 iframe1=browser.find_element_by_tag_name("iframe") browser.switch_to.frame(iframe1) time.sleep(2) # 進入大表單的第二[1]個小表單裡面找元素iframe1>iframes[1] iframes = browser.find_elements_by_tag_name('iframe') browser.switch_to.frame(iframes[1]) browser.find_element_by_partial_link_text("本科生每日").click() time.sleep(1) # 回退兩次,進入第二[1]個大表單裡面,尋找“每日健康填報”>iframes[1] browser.switch_to.parent_frame() browser.switch_to.parent_frame() iframes = browser.find_elements_by_tag_name('iframe') browser.switch_to.frame(iframes[1]) browser.find_element_by_css_selector("li[data-blname=每日健康填報").click() time.sleep(2) # 回退一次,>iframes[2]>iframes[0],填寫 browser.switch_to.parent_frame() iframes = browser.find_elements_by_tag_name('iframe') print(iframes,'\n') # 顯示現有表單 browser.switch_to.frame(iframes[2]) iframes = browser.find_elements_by_tag_name('iframe') browser.switch_to.frame(iframes[0]) time.sleep(1) browser.find_element_by_id("mini-3$2").click() # 選擇健康碼為綠色 tpt=random.randint(3,6)/10+36 # 計算隨機體溫 tpt=str(tpt) # 轉化為字串 browser.find_element_by_id("BRTW$text").send_keys(tpt) # 輸入體溫 browser.switch_to.parent_frame() # 表單回退 browser.find_element_by_id("sendBtn").click() # 提交 time.sleep(2) browser.find_element_by_partial_link_text("確定").click() # 確認 time.sleep(2) # 關閉瀏覽器 browser.quit() if __name__ == '__main__': main()
最後提交完資訊以後瀏覽器會正常關閉。
如果程式中途執行卡住了,可能是瀏覽器還沒反應過來,程式就進入下一步了。 可以在卡住的位置增大等待時間,即增加time.sleep(“SleepTime”)的休息時間SleepTime。
開機自啟辦法:
-
上述程式碼存為pytest.py。
-
在python主目錄寫了一個txt檔案。
start python pytest.py pause
-
將該txt檔案字尾名改為“.bat”。
-
雙擊該bat檔案程式是否正常執行。
-
把該bat檔案快捷方式新增到C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp資料夾。
-
下次開機時檢查程式是否正常啟動。
啊,填完這個表真的好累啊,框架裡面還內聯著框架,如果能用一定要給我點贊啊。。。 有問題的話歡迎吐槽和交流。看到的話都會回覆。
後記
近期有很多朋友通過私信諮詢有關Python學習問題。為便於交流,點選藍色自己加入討論解答資源基地
相關文章
- 使用selenium實現疫情期間體溫上報!自動化就是牛逼!
- 翱翔門戶自動填報疫情
- python爬蟲(四)——selenium校園網自動填報Python爬蟲
- java 自動化與 python 自動化哪種程式語言吃香?JavaPython
- java自動化——web自動化複習JavaWeb
- 自動化
- Jmeter 介面自動化連載 (13) - 自動生成測試報告JMeter測試報告
- 介面自動化與ui自動化區別UI
- Selenium自動化實現web自動化-1Web
- [自動化]基於kolla部署的openstack自動化巡檢生成xlsx報告
- 專磕自動化營銷,資料驅動讓生意更有溫度
- 自動化測試系列 —— UI自動化測試UI
- 自動化清理軟體:Hazel for MacMac
- webstorm自動格式化程式碼WebORM
- 前端自動化前端
- 自動化(五)
- appium自動化APP
- 自動的自動化:EvoSuite 自動生成JUnit的測試用例UI
- Linux Shell互動式自動化運維程式Linux運維
- 低程式碼如何推動自動化未來
- Society-Business-ICEE+BigDataAIML-Sensor-產業升級換代: 數字化、自動化、 智慧化: 溫度/溼度/氣/液體壓強/+AI產業
- 【自動化】淺度分析自動化行業,深度好文!行業
- 介面自動化報告的問題
- Python 實現自動化 Excel 報表PythonExcel
- 利用tox打造自動自動化測試框架框架
- 無程式碼快速實現自動填寫產品單價功能
- 基於DotNetty實現自動釋出 - 自動檢測程式碼變化Netty
- 自動化冒煙測試 Unittest , Pytest 哪家強?
- 增強自動化測試的8大技巧
- Eggplant—HMI自動化測試軟體
- 軟體測試:自動化測試
- 通用自動化測試軟體 — TAE
- Eggplant—HMI 自動化測試軟體
- 軟體自動化測試有什麼優勢?自動化測試框架有哪些?框架
- 自動現代化C++程式碼C++
- JMeter 介面自動化測試(手工轉自動化指令碼)JMeter指令碼
- 【自動化測試入門】自動化測試思維
- [自動化]基於kolla的自動化部署ceph叢集