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中受惠~