抓圖寫程式,SIKULI將改變世界

抓圖寫程式,SIKULI將改變世界

最近這幾週可謂新聞不斷歹戲拖棚?,Google沸沸揚揚地嚷著說他們要退出中國了,而另一邊蘋果也不懷好意地說他們要推出平板電腦,每一家的新聞都相當精彩。但就在這麼多商業新聞包圍之中,有一個不起眼的小新聞,是關於一個聽都沒聽過的「SIKULI」程式語言在YouTube上的示範短片。

這個短片,是由麻省理工學院MIT NEWS報導,然後在全球的程式設計師之間迅速燃燒起來,各個電腦工程師的噗浪以及Email一時之間幾乎人手一封,在極短的時間之內繞了地球好幾圈。事實上,對於許多軟體工程師來說,這段短片所帶來的震撼性,遠要比什麼平板電腦還是某某大廠進進出出中國來得重要太多了。

抓圖寫程式,SIKULI將改變世界

▲就是這段神奇的短片,讓許多軟體工程師驚奇不已。

前所未聞的Graphical Scripting Language

對於沒寫過程式的朋友來說,可能不明白「SIKULI」的重要性。其實小編也有十年沒有碰過程式語言了,還記得當年小編學程式語言的時候,學校流行還是像VISUAL BASIC、DELPHI這一類視覺+物件導向的程式語言工具,當時就已經覺得將軟體介面以圖形元件的方式來設計,再用物件導向語法來控制的方式算是相當神奇了。但與現在「SIKULI」這個被稱為「Graphical Scripting Language」的控制方法比起來,又是差了一大截。

在「SIKULI」中,你不用背各種複雜的物件名稱,也不用去理會母物件與子物件的從屬關係。你所需要的就是簡單的擷圖工具,把要控制的物件擷圖下來,直接放在語法編輯區中,就可以開始設計你要進行的動作了。

或許你會問,這有什麼神奇的?之前不是有很多自動化的桌面工具,可以幫我們指定要執行哪些動作,或是Photoshop中也有批次影像處理的功能,很容易就能做出很多自動化、批次的動作?

的確,如果從自動化工具的觀點來看,「SIKULI」能夠做到的事情並沒有那麼獨特,但它的獨特之處就是它用的方法。 我們知道程式語言已經是一種相當成熟的技術工具,從物件導向語言問世至今,所有程式設計師也都習慣了「程式語言就是這麼難用」,或是已經將自己催眠了說出諸如「.NET越來越好用了耶!」、「哇!DELPHI又新增了超好用的Windows API元件」這一類的對話。

在「SIKULI」出現以前,從來沒有人想過要徹底顛覆掉過去的觀念,想出一個全新有創意的程式語言撰寫方式。 了不起的就是,「SIKULI」真的做到了「創新」這一點,用擷圖取代了物件,你不需要知道Windows的API函式庫,也能控制視窗中的元件。雖然它的概念還沒發展到真的可以撰寫獨立的應用程式,目前能做的也僅僅只能當個桌面自動化工具,但它的確指出了一條路,告訴全球的程式設計師,「程式設計可以這樣走」。

絕對會大放光芒的台灣之光

最意想不到的,是後來發現「SIKULI」的發明者,是一位不折不扣的台灣人,在部落格上以VGOD為名發表過許多與程式相關的文章,目前正在MIT就學,而「SIKULI」也就是他在MIT的一個研究論文。而過去VGOD就曾經發表過幾篇「追求神乎其技的程式設計之道」,寫出了他對於程式設計的看法,也是目前少見關於程式設計方面相當誠懇的文章,讓人不由得想到「態度決定高度」這句話。

在程式設計這個領域,以往總是由國外來引導出一些方向,遊戲規則總是由別人來主導。現在,我們終於在「SIKULI」上看到由自己同胞所創造出的一個新的高度,這真是值得我們大力讚揚的啊! 最後,我們就簡單的示範一下,就算是程式白癡,也能夠用「SIKULI」在五分鐘之內完成一個應用。不懂語法?沒關係,從頭到尾你只要輸入CLICK()就好。

首先當然你必須先下載「SIKULI」,並且要在電腦安裝Java Runtime Environment (JRE)環境。之後,就可以依照下列的方法,輕鬆自訂你要進行的操作囉!

 

抓圖寫程式,SIKULI將改變世界

▲首先在編輯區輸入”CLICK(”,然後就點選左上角的相機按鈕開始擷圖。

 

抓圖寫程式,SIKULI將改變世界

▲大約兩秒鐘之後,你可以擷取螢幕上的任何畫面,範例後我們擷取了一個ICON。

 

 

抓圖寫程式,SIKULI將改變世界

▲擷取完之後回到程式介面,你會在剛剛輸入”CLICK(”的右邊,出現剛剛我們擷取的按鈕畫面。在這個按鈕右邊加上”)”,這樣就輸入完一句指令。

(小編由於寫這篇教學時頭昏眼花,上一個步驟抓圖完之後,所撰寫的程式碼後來又完全改掉了,所以你會發現在這個步驟”CLICK()”中的擷圖畫面與前一張圖不同…..

 

 

抓圖寫程式,SIKULI將改變世界

▲依照這個方法,我們實驗在Firefox中,將按下「feedy」RSS閱讀器按鈕之後進入閱覽頁面,到點選特定頻道瀏覽特定資訊的過程,拆成四個步驟,一一錄下來。

 

抓圖寫程式,SIKULI將改變世界

▲最後,按下PLAY按鈕,就會自動到桌面上去執行這些動作了。

janus
作者

PC home雜誌、T客邦產業編輯,曾為多家科技雜誌撰寫專題文章,主要負責作業系統、軟體、電商、資安、A以及大數據、IT領域的取材以及報導,以及軟體相關教學報導。

使用 Facebook 留言
4df15a740561094adbf223a96b673ccd?size=48&default=wavatar
21.  XXX (發表於 2012年2月14日 11:17)
會這樣回的人代表對程式根本不瞭解!只是對於按鍵精靈愛用者的看法!另外!自己沒認真去碰那套軟體或是用在其他用途就發出這樣的看法!說真的...從回文就知道對軟體與程式的無知

※ 引述《按鍵精靈?》的留言:
> 怎麼看都像是按鍵精靈。
>
> 好幾年前按鍵精靈就已經在作了。
> 而且人家按鍵精靈也很好用。
>
> 說是語言,但是感覺起來不太像。
> 比較像是腳本而已,而且還是依附在JAVA上。
> 這樣就更不像是語言了。
>
> 看這處理的效率應該就是抓螢幕來比對,
> 可以想見這種程式問題蠻多的。
>
> 例如,你不能變更桌面DPI…
> 你不能換SKIN或布景…
> 你不能更換語言…
> 甚至不能變更顏色…
> 而且隨著桌面解析度提升,按鈕越多…
> 執行速度更是直線下降。
> 做出來的程式流通性和相容性也是很令人堪慮。
> 感覺好像拿到別人的電腦上就可能不能用,
> 或許軟體升級一個版本之後,既有腳本就會失效。
>
> :
> :
> :
>
> 看DEMO所做,實用性好像也還好而已。
> 雖然是臺灣之光,但是感覺好像也不是很令人振奮。
> (不好意思潑編輯部冷水。)
> 有哪位可以更進一步的利用方法嗎?
發表回應
謹慎發言,尊重彼此。按此展開留言規則