用代碼向 90 後逝去的青春致敬
(點擊
上方藍字
,快速關注我們)
來源:
stormdony 投稿https://mp.weixin.qq.com/s/3DriToN683X_74bQKQCX3Q
前段時間,騰訊宣布停止樂斗Ⅱ和QQ寵物的運營,然後就訂閱號里就被各種回憶殺的推文刷屏了。今天也來稱蹭一下"熱點",雖然有點晚。
都說「陪伴是最長情的告白」,那些陪我們走過年少時光的小遊戲,你還記得多少?
可能很多90後都玩過樂斗Ⅱ。但是很遺憾,今天的主角不是它,而是它的兄弟——「Q寵大樂斗」。
今天分享的是:如何使用 selenium 的奇技淫巧,讓「Q寵大樂斗」自動運行,自動打遊戲。
★
具體步驟
第一步:分析鏈接,因為直接使用網頁動畫版(也就是上圖)的網址的話,會有Flash動畫,可能會因為網路的問題,導致延遲,從而影響程序的運行。所以選擇直接關注微信公眾號「Q寵大樂斗」,從開始遊戲的介面進去,這樣就可以進入文字版的遊戲,減少不必要的網速佔用。
第二步:通過審查元素找到相應的元素,使用selenium進行定位控制
第三步:設置定時任務,讓遊戲腳本每天定時運行,遊戲自動化,實現躺贏的最終理想,哈哈
注意事項
因為等級原因,有一些功能可能對低等級不開放,所以這個遊戲需要「私人訂製」
有一些獎勵是需要等到了一定的活躍度才可以完領取,所以需要一定的遊戲策略,否則就需要在程序中進行多次判斷
代碼書寫
因為這個遊戲的任務有點多,所以分模塊來寫比較好,這樣邏輯不會亂,代碼的可讀性也更強一點
登錄模塊:
通過上圖可以找出登錄的元素位置,直接使用selenium進行登錄操作。
上面代碼中的第14行是設置等待。直白一點就是:如果 WebDriver沒有在 DOM中找到元素,將繼續等待,超出設定時間後則拋出找不到元素的異常
(自動登錄哦
其他模塊
之前說過,等級不同,任務也不同。所以我這裡就放上幾個共同的模塊。具體的任務看下圖
每日獎勵模塊:
樂斗好友模塊:
其他的模塊我這裡就不放代碼了,畢竟等級不一樣,代碼可能沒有通用性。而且主要的方法就是定位元素,前篇推文已經詳細介紹了,主要是設置等待時長和注意異常情況的判斷處理就可以了。
計劃任務
具體的計劃任務教程,參考:
Python與win的完美結合--計劃任務。設置好時間,因為這個遊戲的寵物是靠體力來進行的並且每天只能進行一次任務,所以每天定時打一次就可以了。
最後
今天這個自動打遊戲的demo,只是單純的練習一下selenium操作;當然也順便回憶一下90後的生活,相信有一部分90後小時候還是會玩過這個遊戲的。
可能有人就覺得這遊戲有點low
(確實有點low)
,那我只能昧著良心回一句:哥玩的不是遊戲,是情懷……
代碼:
https://github.com/stormdony/python_demo/tree/master/QQ_Pet_Fight
【關於作者】
stormdony:一個正在發育並且渴望成為一個有技術、有情懷的coder。
【關於投稿】
如果大家有原創好文投稿,請直接給公號發送留言。
① 留言格式:
【投稿】+《 文章標題》+ 文章鏈接
② 示例:
【投稿】
《不要自稱是程序員,我十多年的 IT 職場總結》:http://blog.jobbole.com/94148/
③ 最後請附上您的個人簡介哈~
看完本文有收穫?請轉
發分享給更多人
關注「P
ython開發者」,提升Python技能
※回歸樹的原理及其 Python 實現
※面向對象:希望遇到你,希望時間地點都剛剛好
TAG:Python開發者 |