第一個自己獨立開發並發布的軟件


  9.15號才開學,前幾天閑的蛋疼,跟一朋友聊起了“超級課程表”。我一直以為他們是跟每個高校有合作,才能取得各高校的數據庫數據。后來百度了一下發現原來他們不是通過這個方式,而是直接用學生輸入的用戶名和密碼來訪問各高校的教務網獲取課程表之類的相關數據。這樣就有一個問題讓我很感興趣,各教務網的驗證碼系統他們是如何攻破的。然后我又百度了一下驗證碼的破解與反破解原理,想拿QQ空間的留言板來對比着理解一下,結果意外發現不知道什么時候QQ空間的留言板不再需要輸入驗證碼即可發表留言。。。然后我思緒突然一轉就把驗證碼的事給拋到一邊了,想能不能自己寫個自動刷QQ空間留言的工具?

  根據自身的知識儲備我找到了一條思路,利用SeleniumIDE錄制留言過程,然后把腳本轉換成Java代碼。接着就是一步步的調試和修改,當天晚上6點開始動手,到凌晨兩點的時候程序基本跑通,可以實現自動留言,興奮的一整夜沒睡着。但是因為QQ空間留言板的CSS比較復雜,我當天只實現了通過點擊表情按鈕來實現留言,還無法直接輸入任意字符串作為留言內容。

  后來想起來以前見過有人提供刷空間留言服務來賺錢的,於是自己也想嘗試一下。加了好多QQ群,像什么初中生群呀,00后群呀,00后富二代群呀。。。剛想到這個點子的那個晚上在群里問了一下,有個孩子跟我說市場很有需求,結果我信了。我想這么晚了,估計他們都睡了,明天再開始宣傳吧~然后自己就躺在床上開始YY,心想如果真的有市場,一個孩子我給他刷個幾千條賺一百塊,一天可以賺好幾百,那不是要發財了?越想越興奮,然后這個晚上又一整夜沒睡着。。。接下來的幾天我天天給那些小闊少爺闊小姐私聊發廣告,可是到頭來要么不鳥我,要么問我想表達什么,要么“呵呵”,要么“傻X,我才不上你的當了!!”。。。

  之后無奈放棄了這個念頭,但是不想讓這個程序就死在我的MyEclipse IDE里面。所以決定把它做成一款軟件。想想之前也有過類似想法,但因為知識儲備不足一直沒能實現,現在何不嘗試一下了。於是又開始碼代碼。

  改善代碼的過程中碰到最棘手的問題就是前文提到的,如何直接輸入任意字符串作為留言內容,而不是單一的表情。本來這應該很簡單的,用下面這行代碼可以解決。

selenium.type(locator, value);

   但是這個是針對輸入框、復選框、下拉框等才有效的一個函數,QQ空間留言板的那個輸入框不是一個input,而是放在一個<iframe>下面的可編輯的<body>下面的一個<div>.所以我嘗試了N次都不能實現以字符串作為留言內容的功能,期間一度情緒暴躁。。。

   后來到一個軟件測試群里面去請教了一下,慢慢摸索慢慢嘗試終於被我踩到狗屎了。

selenium.selectFrame("veditor1_Iframe");//進入一個iframe
selenium.runScript(content);//留言內容

   首先得進入那個iframe里面,然后使用selenium.runScript(String script)這個函數就可以達成目的。說實話我也不清楚為什么這個函數可以,也沒誰告訴我用這個函數,只是真 的挑了個函數試一下,結果“留言成功”。意外欣喜之情難以言表。。。

   再啰嗦一下這個iframe,按常理來講Selenium IDE應該能錄下我輸入文字作為留言內容的這段代碼,可是就是這個iframe搗蛋,搞得錄出來的代碼只有我“點擊”發表按鈕那一行。

selenium.click("id=btnPostMsg");

   所以我才一步步摸索出,怎么調用Selenium RC的API才能實現以字符串作為留言內容的功能。

   之后的路就相對平坦一點了,用SWING給這個程序套了個又丑又土的GUI殼子,然后整個項目打包成一個Jar文件。然后再用exe4j將其轉化成一個.exe文件,但是這樣還是不能讓這個程序在沒有安裝JRE的機器上跑,所有又找了個瘦身過的JRE,加上那個Jar文件一起打包成一個.exe文件。這樣就終於可以在沒有安裝的JRE或者JDK的機器上運行了。終於可以一次編譯,滿世界的跑。

   可是當我把這個程序放到同學的電腦上測試的時候,一秒鍾就被360這條狗當成木馬病毒給刪掉了。我去你大爺。國人的原創積極性就是這樣被打消的,狗一樣的360。沒辦法,正好我也想把這個軟件搞的正式一點,於是就用Inno Setup給這個程序做了個安裝包,這樣再重新安裝到有360的機器上面,它就一聲都不叫了。這樣的工作做下來,三天中秋假期基本沒怎么休息,全是在操心這事。昨晚上弄好了,又興奮地一夜睡不着。。。凌晨3點穿個褲衩坐在陽台上點支籣州,想一個魂淡妹子。。。

  下面是本軟件1.0.0版的下載地址,百度雲盤下載下來如果文件名亂碼重命名一下正常解壓縮就好。好用的話幫忙轉發支持一下,謝謝。

  http://pan.baidu.com/s/1hqqtjW4

  驗證碼的事,以后再說吧~~~

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM