- Save Offset
設置關聯的內容偏移量,從第幾位開始進行關聯操作。回到最開始的例子,我們抓取的是You have successfully installed XAMPP on this system!,如果需要獲得successfully installed XAMPP on this system!這個字符串,則不用改變左邊界,只需要設置Save Offset為9即可,代碼為:
web_reg_save_param_ex(
"ParamName=temp",
"LB=Congratulations:<br>",
"RB=</b><p>",
"Ordinal=1",
"SaveOffset=9",
SEARCH_FILTERS,
"ContentType=text/html",
LAST);
- Save Length
關聯出來的內容所需要保存的長度。在Save Offset的例子中我們寫到如何獲得successfully installed XAMPP on this system!這個字符串,如果我們還希望獲得這個字符串中的successfully installed XAMPP,那么可以再添加Save Length為22,代碼變為:
web_reg_save_param_ex(
"ParamName=temp",
"LB=Congratulations:<br>",
"RB=</b><p>",
"Ordinal=1",
"SaveOffset=9",
"SaveLen=22",
SEARCH_FILTERS,
"ContentType=text/html",
LAST);
- Scope
2)Headers/Body/Cookies
strtok()函數的作用是通過某個分隔符來切分內容的。
char temp[100];
char * token;
extern char * strtok(char * string, const char * delimiters );
lr_save_string("sessionid=54321123&action=work","param");
strcpy(temp,lr_eval_string("{param}"));//取出參數值,並且賦值給變量temp
token = (char *)strtok(temp,"&");//使用&符號作為分隔符
而在LR11中提供了web_reg_save_param_regexp正則表達式關聯,上面的寫法也可以退休了。打開Add Step添加步驟,選擇web_reg_save_param_regexp函數,打開設置窗口,如圖所示
在這個函數中關鍵就是在Regular Expression的寫法上,在前面XML參數的lr_xml_find函數中我們提到過正則表達式的寫法,在這里的寫法唯一區別在於需要關聯返回的內容需要用()圓括號標記。例如,這里的read(.*)\.php就是指所有符合read開頭.php結尾中間的任何內容都關聯保存到參數temp中,這里的\是轉義符,確保.號能夠正確地當做普通字符來匹配。