NetTools 線上教學@免空搶票自動化工具 (備份文)


 

NT 程式介紹:描述主程式的各項功能用法

程式輪廓介紹

NetTools 線上教學@免空搶票自動化工具 (備份文)
 
NetTools 線上教學@免空搶票自動化工具 (備份文) 程式最上面的標題 列會顯示目前載入的GDL檔~ (程式開啟時預載是上次之GDL檔)
NetTools 線上教學@免空搶票自動化工具 (備份文) 接著的大窗 口是GDL執行時的WEB控制窗口,在GDL未編碼的情況下可看到窗口內容(按F11會切換至Msg窗口)
NetTools 線上教學@免空搶票自動化工具 (備份文) 再來會有個檢示原始檔的鈕 NetTools 線上教學@免空搶票自動化工具 (備份文) ,按下後會列出執行窗口之原始碼。
NetTools 線上教學@免空搶票自動化工具 (備份文) 延遲速度:指執行程序的間隔時間,以豪秒為單位!! 9 個下拉等級表示延遲0.1秒至0.9秒!! 建議以延遲300毫秒(0.3秒)為基準,再視執行情況自行調整之~
NetTools 線上教學@免空搶票自動化工具 (備份文) 欲執行次數已執行次數,當程序走到 EXIT() 時,欲執行次數會減1、已執行次數則加1。常用於計數需求 (可搭配 ***RunCount*** 變數來取得已執行次數之當下值 )
NetTools 線上教學@免空搶票自動化工具 (備份文) 備用欄:預留性設計,可搭配 * **Additional*** 變數來取得當下之值,並無特定運用方式,由使用者自由發揮~
NetTools 線上教學@免空搶票自動化工具 (備份文) 接著點選各功能性標籤後,會有其清單內容與相關處理功能鈕~
NetTools 線上教學@免空搶票自動化工具 (備份文) 最底下那列則是NT程式執行時的相關訊息。
 

Wait:秒數 顯示由 Wait、WaitHtmlText、WaitWebText 這三個指令所下之 還需等待時間
ActWeb:? ?=1 時表執行窗之焦點落於母視窗,2時則為子視窗
DeTime:10 指當網頁已讀取完畢10秒內無任動作時,則程序自動往下走
Frames:? 指目前執行框的網頁裏,框架的總數目
帳、檔、備、郵 指各清單中所剩之資料筆數
Sleep:秒數 顯示由 sleep(?)函數所下之還需等待時間
X、Y 值 不限於程式窗口之全域性 滑鼠位置偵測,其值可用於 MouseMove 命令 所需參數~

命令標籤

NetTools 線上教學@免空搶票自動化工具 (備份文)

 
當切換至命令標籤後,下方那排快捷工具列~ 分別可用 F1到F10來執行。( F11 為切換至Msg 視窗 、F12 為編碼工具框)
 
簡單易懂的我就不多作說明,你自已動手試試就知,這裏只挑重點處說明就好~
 
NetTools 線上教學@免空搶票自動化工具 (備份文) (F2)
執行已載入之GDL,程序會從第一行開始跑起 。若過程中想停止,可按下 NetTools 線上教學@免空搶票自動化工具 (備份文)
 
NetTools 線上教學@免空搶票自動化工具 (備份文) (F3)
NT提供可編輯已載入GDL之功能。
於編輯窗中左邊是命令列表,右邊是GDL,下面則是你選取的指令使用說明~
你也可以將GDL中的部份關鍵字反白後,再按下F2,程式會自動搜尋相關的指令說明~
 
NetTools 線上教學@免空搶票自動化工具 (備份文)

 
NetTools 線上教學@免空搶票自動化工具 (備份文) (F4)
執行指定的單獨那行程序 (方便測試用途)
 
NetTools 線上教學@免空搶票自動化工具 (備份文)
在命令清單中按下右鍵就會出現。Refresh Command 表示重新讀取GDL。Start Run In Point 表示從指定的那行程序起開始執行GDL

各清單標籤

NT 提供了 帳號、檔案、備註、郵件、輸出、暫存  六個分類清單供USER使用 。
在實務運用上不必跼限於清單名稱的定義,只要其支援的資料格式符合你的需求,就可以拿來用喔~
 
NetTools 線上教學@免空搶票自動化工具 (備份文)

 
帳號清單主要是用來存放以  帳、密型態組成的資料!!  上面四種格式 的資料,存入帳號清單時,程式都會自動過濾成  ID:PW
 
NetTools 線上教學@免空搶票自動化工具 (備份文)

 
檔案清單當然就是用來存放上傳檔案的地方了 !! 而斷行符主要是作為是否跳出迴圈的判斷依據,詳細用法請參考實戰教學。
(支援直接以檔案總管拖曳方式加入檔案)
 
NetTools 線上教學@免空搶票自動化工具 (備份文)

 
備註清單的資料格式不同於帳號清單的帳密型態,而是以一列為單位,程式並不會作任何過濾資料的動作~
 
NetTools 線上教學@免空搶票自動化工具 (備份文)

 
郵件清單的資料也是以一列為單位,程式並不會將資料過濾!!
 
但經由GetMail()宣告後所產生之屬性變數。其中***MailUrl*** 會自動將資料過濾成  id@mail_url  的型態。
(支援過濾的資料格式為 FTP://ID:PW@MAIL_URL、ID:PW@MAIL_URL 兩種)
 
NetTools 線上教學@免空搶票自動化工具 (備份文)

 
輸出清單顧名思義就是用來存放我們經由WEB處理後所得到的資訊~ 呀那幾個功能鈕,自已試試應該粉容易上手的~
 
NetTools 線上教學@免空搶票自動化工具 (備份文)

 
暫存清單與其它清單的定位不同!! 它並無額外的功能處理鈕,只能靠指令來更動其內容。屬臨時性的處理區域,當NT關閉後,此清單內的資料也會全部消除~

瀏覽器&DEBUG標籤

NT 提供除了執行窗外的第二個窗口,供使用者測試時使用。另可搭配DEBUG功能來分析網頁架構~ ( 此窗口無法由GDL來控制)
 
NetTools 線上教學@免空搶票自動化工具 (備份文)

 
上圖中右上角的檢示原始檔鈕,則是針對瀏覽器的窗口動作。
 
再切換至DEBUG標籤來看~
 
NetTools 線上教學@免空搶票自動化工具 (備份文)

 
要分析網頁前,先選擇工作區!!  瀏覽區是指瀏覽器的窗口、執行區是指執行窗~
接著選類別,裏面有網頁常用之控制項可過濾,方便USER可快速分析~
若想取得DEBUG清單中之資料,則在其內容上按右鍵,即有相關處理選項可供使用~
 
NetTools 線上教學@免空搶票自動化工具 (備份文)

排程標籤

排程功能是粉貼心的一項設計,若於GDL中搭配 Shutdown: 指令,還可達到完成後自動關機的效果~
 
NetTools 線上教學@免空搶票自動化工具 (備份文)

 
新增排程的方式粉容易,就選 欲執行的時間與欲執行的GDL、與執行次數(程序走到EXIT() 算一次)即可。(備註說明是方便自已辨視)
 
呀記得排程新增後,要按一下啟動排程,程式才會開始進入排程功能喔~


函數標籤

NetTools 線上教學@免空搶票自動化工具 (備份文)
 
你寫GDL時,是否常會建立一些重覆性的處理呢? 而這些處理卻又非是NT本身有提供指令或函數可支援的!
為此NT提供一個可讓使用者彈性自訂函數的功能~ !   方便使用者可以建立自定的函數~
只要載入函數後,在寫GDL時就可以直接 call:函數名 來調用,可以省下許多重覆性的CODE囉~
 
所謂自定函數即是在一個*.fun 檔裏,宣告自定之 Script(允許建立多段) ,其輸出結果會存於 ***ScriptOut*** 中,供程式任意調用。
每段函數是以  NetTools Function:函數名End NetTools Function 為止。
函數內容撰寫方式同一般 Script 之格式,可多行撰寫與加備註,但切記敘述需嚴謹,宣告要明確(VBSCRIPT 或 JAVASCRIPT 要定義清楚)。
 

//——— 自定函數1
NetTools Function:函數名稱一
 
<script language="javascript">

 
</script>
End NetTools Function
 
//——— 自定函數2
NetTools Function:函數名稱二
 
<script language="javascript">

 
</script>
End NetTools Function

 
NetTools 線上教學@免空搶票自動化工具 (備份文) 函數處理是在第三窗 口作動作,所以並無法與執行窗之網頁元件作關聯!! 但可搭配既有之變數來應用,如 ***Variable?***、***FileName*** 等 !
 
附上一個測試GDL,打開NT後,先切換至函數標籤把下面的data.fun 載入,再執行GDL即可~
NetTools 線上教學@免空搶票自動化工具 (備份文) 附件:data.fun(隨機產生韓文姓名、韓文身份証碼、香港身份証碼)
 

go:about:blank
AddWebHtml:<textarea name=test1 rows="1" cols="10"></textarea><textarea name=test2  rows="1" cols="20"></textarea><textarea name=test3  rows="1" cols="15"></textarea>
//—隨機韓文姓名
call:KR_Name(rad)
SetFieldValue:test1=***ScriptOut***
//—隨機韓文身份証
call:KR_ID(rad)
SetDataValue:700218,***Variable88***
SetFieldValue:test2=***Variable88***-***ScriptOut***
//—-隨機香港身份証
call:HK_ID(rad)
SetFieldValue:test3=***ScriptOut***
EXIT()

 

下載&NDLM標籤

NetTools 線上教學@免空搶票自動化工具 (備份文)

 
StartDownload() 命令啟動後,程式會自動切換至 【下載標籤】
其清單中則會顯示檔案下載時的相關訊息~
 
NetTools 線上教學@免空搶票自動化工具 (備份文)
 
若該GDL為已編碼的狀況下,則在下載清單中會將下載連結給HIDE掉~
NetTools 線上教學@免空搶票自動化工具 (備份文)
 
當檔案下載完成時,在輸出清單中會有相關記錄~
NetTools 線上教學@免空搶票自動化工具 (備份文)
 
NetTools 線上教學@免空搶票自動化工具 (備份文)
NetDownload()  命令啟動後,程式會自動切換至【NDLM標籤】
其清單中則會顯示檔案下載時的相關訊息~  (下載存入路徑請於【下載標籤】中指定 )
 
NetTools 線上教學@免空搶票自動化工具 (備份文)
 
以此方式下載檔案完成時,該線程會自NDLM清單中消失 ~
若想手動中止該線程的話,也可在其上面點一下右鍵,選關閉下載線程即可~

 
NetTools 線上教學@免空搶票自動化工具 (備份文)

編碼

NetTools 線上教學@免空搶票自動化工具 (備份文)
 
NT 的精神是指令明碼化,希望每個人都能夠付出一點心力來為大家服務 !! 若你願意提供未編碼的GDL給大家參考、使用,那自然是最好~
但畢竟WEB 控制的範圍太廣大,針對分享而言或許還有團隊沒預期到的漏洞存在著!!
所以若你有安全疑慮考量時,適當的利用編碼功能來保護自已也是無可厚非的喔!!
在程式中按下 F12 後,編碼的工具框就會出現~
 
NetTools 線上教學@免空搶票自動化工具 (備份文)
 
基本編碼的方式就是直接把原始GDL載入,再按產生編碼即可~
編過碼的GDL 就與沒編的GDL一樣,執行時只差在執行窗看不看的到東西而已!!
( 但若你編碼時勾選了 【強化編碼】,則GDL在執行的過程中只有 命令、下載、NDLM 三個 頁籤可切換查看,其餘的皆會鎖死無法查閱喔!!  )
 
NetTools 線上教學@免空搶票自動化工具 (備份文) 編碼時,程式會自動過濾掉 空白行註解行Shutdown: 指令(避免影響到USER本機正常操作)
NetTools 線上教學@免空搶票自動化工具 (備份文) 編碼只支援英數符字串, 即非標準ASCII碼的部份都不能編,例如 中文、日本、阿米巴文等都不能行喔!!
 
假設我的GDL中必需要用到中文字該怎麼辦呢??     那就改加掛MSG檔來輔助即可~
所謂MSG 檔只是一個純文字檔!! 其名稱若與欲加掛之GDL名稱一樣時,則當GDL載入後,MSG 檔便會隨之掛上~
再來便可利用 GetMsg  指令來取得MSG檔內之中文字串囉~
例如有如下一個GDL ,若我將它編碼的話,因為裏面含有中文字,所以編碼的結果會是錯誤的~!
 

Org_TEST.GDL
Prompt:請問誰是世界上最漂亮的女生??
IF:"***PromptData***"="聰明漂亮美"
IFYes:OK
RunScriptNext:alert(‘找死呀!! 不要命了…’ +’\n\n’+ ‘***PromptData*** 算哪根蔥呀!!’)
over()
Label:OK
over()

 
所以我可以把 【Org_TEST.GDL】  改成 【TEST.GDL 搭配TEST.MSG】 來執行~
 

TEST.GDL
GetMsg:1,***Variable10***
GetMsg:2,***Variable32***
GetMsg:3,***Variable42***
GetMsg:4,***Variable56***
Prompt:***Variable10***
IF:"***PromptData***"="’***Variable32***"
IFYes:OK
RunScriptNext:alert(‘***Variable42***’ +’\n\n’+ ‘***PromptData*** ***Variable56***’)
over()
Label:OK
over()

 

TEST.MSG
請問誰是世界上最漂亮的女生??
聰明漂亮美
找死呀!! 不要命了…
算哪根蔥呀!!

 
如此一來,在TEST.GDL中已沒有中文字了,那我就可以把TEST.GDL 拿去編碼後,再存成TEST.GDL即可 !!
 
NetTools 線上教學@免空搶票自動化工具 (備份文)
 
NetTools 線上教學@免空搶票自動化工具 (備份文)
 
這個編碼模式的意思是說:我想讓某些帳密資料,只能在我指定的GDL中才能執行!!
比如說我今天弄了一個JP-YM的分享GDL,當然我會把分享帳密編碼後再給人~ ( 癈話,不編碼是請人家砍你檔案嗎 )
假設我沒有把這些分享帳號綁定在我指定的GDL,也就是 YM-JP 的分享GDL中,我只用了普通的編碼模式~
若有個粉機車的人,把我分享的這些帳密丟進去YM-JP 的回收GDL跑,那就挫賽了~ XD
所以一定要有個觀念:牽涉到分享帳密的編碼,一定要選擇綁定GDL與加強編碼喔!!
 
了解此選項的意義後,就可以來看帳密綁定GDL的編碼流程~
一樣在NT中按F12 開啟編碼工具,此時先勾選 【帳號與密碼對GDL編碼認證】 選項,編碼工具便會多出第三個框~
 
NetTools 線上教學@免空搶票自動化工具 (備份文)
 
如上圖所示:
第一個框是放入欲編碼之帳密資料
多出的第三個框則是載入此次帳號資料欲綁定之GDL ( 此GDL可是明碼或已編碼,但若勾選了強化編碼則必需用已編碼的GDL才行喔 )
接著就可以按【產生編碼】,然後中間那個大框就會產生此次帳密資料的編碼了~
也就是說,最後得到的這組編碼(帳密資料)只能用在由第三個框載入的那個GDL中執行~
 
假設你把這組綁定GDL的帳密編碼丟到別的GDL中來執行,就會看到如下的畫面~ XD
 
NetTools 線上教學@免空搶票自動化工具 (備份文)
 
當你按下確定後,NT 將自動關閉!!
 
最後再來比較一下帳密搭配GDL在不同編碼模式下,NT執行時的差異!!
 

  GDL 已編碼(有強化編碼) GDL為明碼 GDL 已編碼(無強化編碼)
帳密為編碼型態
(有強化編碼、無綁定GDL)
NT正常執行
執行窗為隱藏狀態
頁籤只有命令、下載、NDLM可用
NT正常執行

執行窗正常顯示

功能頁籤無鎖定限制
NT正常執行
執行窗為隱藏隱藏狀態
功能頁籤無鎖定限制
帳密為編碼型態
(無強化編碼、無綁定GDL)
NT正常執行
執行窗為隱藏狀態
頁籤只有命令、下載、NDLM可用
NT正常執行
執行窗正常顯示
功能頁籤無鎖定限制
NT正常執行
執行窗為隱藏隱藏狀態
功能頁籤無鎖定限制
帳密為明碼狀況 NT正常執行
執行窗為隱藏狀態
頁籤只有命令、下載、NDLM可用
NT正常執行
執行窗正常顯示
功能頁籤無鎖定限制
NT正常執行
執行窗為隱藏隱藏狀態
功能頁籤無鎖定限制
帳密為編碼型態
(有強化編碼、有綁定GDL)
NT正常執行
執行窗為隱藏狀態
頁籤只有命令、下載、NDLM可用
程式無法執行 NT正常執行
執行窗為隱藏隱藏狀態
功能頁籤無鎖定限制
帳密為編碼型態
(無強化編碼、有綁定GDL)
NT正常執行
執行窗為隱藏狀態
頁籤只有命令、下載、NDLM可用
NT正常執行
執行窗正常顯示
功能頁籤無鎖定限制
NT正常執行
執行窗為隱藏隱藏狀態
功能頁籤無鎖定限制

 
由上表可歸納出三個結論:

 
 NetTools 線上教學@免空搶票自動化工具 (備份文)功能頁籤是否鎖定是取決於 GDL 在編碼時是否有選擇【強化編碼】 !!
 NetTools 線上教學@免空搶票自動化工具 (備份文)執行窗是否隱藏是取決於 GDL 是否有編碼 !!
 NetTools 線上教學@免空搶票自動化工具 (備份文)帳密欲綁定GDL 來編碼,若有指定強化編碼,則該GDL 需是已編碼的!!

MSG窗口

NetTools 線上教學@免空搶票自動化工具 (備份文)

這窗口的設計理念是想提供使用者可以創造屬於自已特色的GDL!!

藉由MSG 窗口,程式執行的過程將不再是死板的看著執行窗動作!!  取而代之的是你想傳達給使用者的訊息~

 

NetTools 線上教學@免空搶票自動化工具 (備份文)

當MSG檔伴隨著同名稱之GDL被載入時,訊息來源列表裏便會列出MSG檔裏的資料~

 

TEST.GDL
GetMsg:1,***Variable10***
GetMsg:2,***Variable32***
GetMsg:3,***Variable42***
GetMsg:4,***Variable56***
Prompt:***Variable10***
IF:"***PromptData***"="’***Variable32***"
IFYes:OK
RunScriptNext:alert(‘***Variable42***’ +’\n\n’+ ‘***PromptData*** ***Variable56***’)
over()
Label:OK
over()

 

TEST.MSG
請問誰是世界上最漂亮的女生??
聰明漂亮美
找死呀!! 不要命了…
算哪根蔥呀!!

 

NetTools 線上教學@免空搶票自動化工具 (備份文)

 

NetTools 線上教學@免空搶票自動化工具 (備份文)

輸出列表 的設計理念是想提供使用者一個可傳達即時訊息的窗口!! 只要是當下想表達的東西或不屬事後性的資料彙整,都適用於此窗口!!

相對的,記錄列表 則是用來記錄一些重要、必需的訊息!!也正因如此,它也較輸出列表擁有較多列表處理的指令支援性!!

 

CopyOutToRecord:符合條件的一部份,第幾個參數(選擇性參數)
MoveOutToRecord:符合條件的一部份,第幾個參數(選擇性參數)
CopyNoteToRecord:符合條件的一部份,第幾個參數(選擇性參數)
MoveNoteToRecord:符合條件的一部份,第幾個參數(選擇性參數)
CopyAccountToRecord:符合條件的一部份
MoveAccountToRecord:符合條件的一部份
CopyFileToRecord:符合條件的一部份
MoveFileToRecord:符合條件的一部份
CopyMailToRecord:符合條件的一部份
MoveMailToRecord:符合條件的一部份
CopyTempToRecord:符合條件的一部份,第幾個參數(選擇性參數)
MoveTempToRecord:符合條件的一部份,第幾個參數(選擇性參數)
OutRecord:
ClearRecord:符合條件的一部份
ClearNotRecord:符合條件的一部份

 

NT 指令列表:指令依類別細分逐列說明

 

實戰範例:10個例子學程編排設計

 

附錄集:額外技巧與常見問答、檔案下載

 

NetTools 線上教學@免空搶票自動化工具 (備份文)

 

從GSS 時期我就一直有個心願想要寫一篇完整的語法教學,但因為諸多原因最後還是無疾而終…

這次很榮幸能夠參與NetTools 的開發,所以當慕雲希望我可以寫一份完整教學來推廣時,我就爽快的答應了~

因為個人工作的關係,整份教學的制作過程花了相當長的時間,其間寫寫停停,也曾一度寫到粉厭倦…

不過幸好最後的結局是美好的!! 總算能趕在NT終版推出前完工了~ !!

想寫給大家的東西真的粉多,但奈何能用的時間實在太少,只能盡量以最短的篇幅來傳達我的想法~

雖是如此,但筆者還是衷心的希望藉由這份教學能讓更多人於撰寫GDL中受惠~