天天看點

Python如何去實際提高工作的效率?也許這個會有用!

4月初,班主任的某次周會議上,華華關切的問了一下:最近班主任們有什麼難題嗎?就是花費了你們大部分時間的工作!我們Python天團可以幫你們解決問題。

班主任大主管星星說:有。目前有一個大難題。我們每天都會對進群的學員登記他的真實姓名,聯系方式,位址,目前薪資,期望薪資以及為什麼會選擇檸檬班~然後對于所有學生的繳費情況都會去騰訊進行查驗,確定學生有上課的權限,并且每次會提前提醒分期的同學按時繳納分期費用,防止逾期而沒有上課的權限。

華華:這不是so easy的事情嗎?

星星:不easy,首先學生并不是一天來的,而是每天不同的班級都會有不同的學員入學,那麼就要分類整理。第二:每個學生的繳費資訊方式不一樣,有的是分期,有的是全款,有的是微信賬号購買課程,是以為了把入群的qq和這些學費資訊核對起來,真的是非常的困難!

華華:這好辦,我幫你搞定(當然那是不可能的),會後找到了Python天團的主管:小簡大佬。小簡大佬,班主任團隊最近遇到了一個比較繁瑣的問題,就是統計學生的資訊比較費時,可以幫忙用自動化搞定嗎?

簡佬(小簡大佬的簡稱):好的呀,有需求嗎?我們團隊的可優和雨澤可以幫忙做這個事情,你把需求搞定,我們最遲一周内傳遞,畢竟我們還有自動化測試和測試開發以及公開課的任務在身。 有Python天團的強有力支撐,那麼就可以開始行動了!

PART 1:整理需求

于是:華華聯合星星,疏導了班主任的工作流程以及資料來源,整理出了一份需求。(各位親愛的VIP學員們,你們的服務都來自于班主任的不辭勞苦!)

關于學員資訊統計:

包含了如下圖所示的一些資訊

其中QQ來自QQ群,微信訂單來自檸檬班内部的CRM系統,剩餘的資訊來自檸檬班的學員資訊管理背景(由學員在檸檬班提供的表單上自行填寫),經過幾輪分析,确定資料來自這3個不同的地方。

關于學生繳費資訊統計:(這關系到學員是否有上課權限,是否會錯過上課時間,非常重要!)

但是這個資訊會有2個問題: 1)如果學生是QQ報名的,那麼可以直接根據QQ去統計資訊。

2)如果學生是微信報名的,那麼需要根據加入班級群的QQ去CRM系統裡面找到對應的微信号,然後進行QQ微信比對後再去騰訊課堂查詢,比如說Python17群學員的QQ是:1248***816(保護學生隐私,匿了中間三位數),是通過微信報名的,那麼在CRM系統裡面的微信賬号是:144115213097282684,我們在騰訊課堂背景隻能通過這個微信号才能唯一查詢到支付資訊,如下所示:

3)如果學生是分期的,那麼還要點選到分期的詳情頁去檢視,分期的支付狀态并登記好之後幾期分期的支付時間,好定期對學員進行提醒,以免逾期。比如說Python17期某位學員的QQ是:792***306,那麼查詢到分期訂單如下所示:

我們需要點選“分期明細”,進入到分期的詳情頁裡面去,才能看到學生的明确支付資訊以及每一期的最後支付時間,如下所示:

PART 2:編寫腳本

需求整理完畢後,圖文并茂的交給了簡佬,當然part1部分的是簡單的描述,盡量讓大家可以看的明白點,比較複雜的就不寫出來了! 簡佬就開始分發任務:可優大佬負責學生繳費資訊的統計腳本,雨澤大佬負責學員資訊統計腳本,至于具體的實作過程,當然要跟大家分享一下!由華華來進行文字整理,因為華華在這個過程中充當了班主任和Python天團的橋梁和需求整理者。

關于學員資訊統計的腳本實作方式:

1:首先從對應班集體的QQ群裡導出學員的Q資訊 2:然後從檸檬班内部的CRM系統裡面導出學員的訂單資訊 3:兩部分資訊都儲存至xlsx的檔案裡面,然後利用Python的openpyxl第三方庫對兩份資料進行比對,對學員是微信報名的資訊與QQ進行比對,最後完成的第一步效果如下所示:

4:然後根據學員的QQ資訊,利用Python的Python-mysql-connector第三方庫進行資料庫查詢,擷取到學員的詳細資訊,如下所示:

腳本的話~~也截圖小小的看看,部分代碼,并不完整哦!學完檸檬班的Python自動化,你也可以!

關于學員繳費資訊統計的腳本實作方式:

1:利用學生資訊統計的結果進行查詢,如果QQ查詢不到,就用QQ對應的微信号去進行查詢

2:如果是全款,那麼就直接登記資訊,如果是分期,就登記分期連結,後期再單獨進行分期詳細資訊的統計與登記。

3:以上兩步是非常清晰的,實作方式無外乎就是web頁面元素的定位,方式有多種,xpath css或id,但是這個腳本,有兩個亮點要跟大家分享下,希望大家以後遇到這個問題也可以用類似的方法去處理。

亮點一:查詢之前先固定查詢的條件

這裡有兩個顯式的條件需要固定,一個是時間,我們隻查詢2019年1月1号開始的訂單,那麼這裡就設計到月曆的固定于選擇:

頁面的HTML源碼如下所示:

我們可優大佬實作的方式是:

另外一個需要固定的條件是:課程包名稱,這個是非selected控件,經過觀察是支援模糊查詢,并且需要從模糊查詢的結果裡面選擇對應的下拉元素才可以生效的! 頁面的HTML源碼如下所示:

我們可優大佬實作的步驟是:先輸入查詢的課程條件(盡量可以唯一确定到唯一一個元素,然後選擇下拉框的第一個元素,第0個元素顯示的是“”全部“”),比如我們輸入的是:python全棧自動化測試工程師第7-19期,那麼下拉框就會顯示可以選擇的課程包名稱,實作代碼如下:

效果如下所示:

我們通過代碼選擇下拉清單的第一個元素,然後神奇的事情就發生啦!後面出現了隐藏元素,班級!

如下所示:

那麼接下來就是選擇班級,但是我們的查詢班級下拉框也是非selected的,而且不支援輸入隻能從下拉元素中選擇,頁面的HTML源碼如下所示:

我們實作的代碼如下所示:

至此查詢的難題已經全部實作,除了這裡有點浪費時間,其他的都非常簡單!

亮點二:利用正則比對分期的資料

學習自動化,不僅僅要學習Python程式設計能力還需要學習其他的知識,比如說正則!而且這些在檸檬班自動化的授課裡面全都有!這裡截取部分代碼,僅供參閱!

這個過程從構思到實作,都是在工作日時間實作的,5月1号,此項目正式上線!并且已經部署到班主任專用的電腦上的jenkins上!這樣可以定時的去跑任務啦!班主任也可以開始利用Python來武裝自己了!這個年代,不學點自動化,都不好意思說自己是Python班的班主任啦!

如果最近你發現班主任們變美了,心情也美美哒,每天跟你說話都是元氣滿滿的,那麼一定是因為Python給他們工作減負,他們多了時間化妝和休息!

有興趣的同學可以多多關注檸檬班的Python自動化課程,可以找專業的Python自動化輔導員來領取專業的學習資料! 檸檬班等你很久了,特意為你準備了一波自動化測試秘籍,助你突破薪資技能瓶頸!

包括 Jmeter、Python程式設計、Selenium、unittest+Http技術+ddt;appium自動化;還有自動化面試題,以及項目案例分享。有興趣的可以加我哦,免費送!

=====請大家尊重原創,如要轉載,請注明出處:轉載自:https://www.cnblogs.com/tudou-22/,謝謝!!=====

  • =====有任何疑問,歡迎加微信 ningmengpyn (請備注:部落格園)=====