利用正则表达式做关联:
一 怎样关联
1) 在请求生成关联数据页面之前,声明保存页面数据。
Code: |
wlHttp.SaveSource = "Yes" |
2) 编写需要搜索数据的正则表达式。
Code: |
pattern = /your text to search for/ |
3) 利用"match"方法执行正则表达式
Code: |
myMatch = document.wlSource.match(pattern) |
4) 将匹配成功的值替换到相应的地方
Code: |
wlHttp.FormData["sessionID"] = myMatch[1] |
二 应用举例
1)录制以下网站登录脚本:
http://www.netizenbanking.com/myAccount.asp
2)录制部分脚本如下:
/***** WLIDE - URL : http://www.netizenbanking.com/myAccount.asp - ID:2 *****/
wlGlobals.GetFrames = false
wlHttp.Get("http://www.netizenbanking.com/myAccount.asp")
/***** WLIDE - Sleep - ID:3 *****/
Sleep(10)
/***** WLIDE - URL : http://www.netizenbanking.com/myAccountLogin.asp?netizenSID=31321359084 - ID:4 *****/
wlHttp.Header["Referer"] = "http://www.netizenbanking.com/myAccount.asp"
wlHttp.FormData["netizenSID"] = "31321359084"
wlHttp.Get("http://www.netizenbanking.com/myAccountLogin.asp")
3)本地生成动态数据页面源文件相关代码:
<a href="myAccountLogin.asp?netizenSID=31319744620">Click
4)做关联后脚本:
/***** WLIDE - URL : http://www.netizenbanking.com/myAccount.asp - ID:2 *****/
wlGlobals.GetFrames = false
wlHttp.SaveSource = "Yes"
wlHttp.Get("http://www.netizenbanking.com/myAccount.asp")
pattern = /netizenSID=(.*)">Click/
myMatch = document.wlSource.match(pattern)
InfoMessage("The session ID is " + myMatch[1])
/***** WLIDE - Sleep - ID:3 *****/
Sleep(10)
/***** WLIDE - URL : http://www.netizenbanking.com/myAccountLogin.asp?netizenSID=31321359084 - ID:4 *****/
wlHttp.Header["Referer"] = "http://www.netizenbanking.com/myAccount.asp"
//wlHttp.FormData["netizenSID"] = "31321359084"
wlHttp.FormData["netizenSID"] = myMatch[1]
wlHttp.Get("http://www.netizenbanking.com/myAccountLogin.asp")