|
1、楼主的写法是可以的,之所有出现这样的提示,是因为 lr_log_message 这个语句放的位置不对,不能紧接 web_reg_save_param 写,应该将 lr_log_message 放到下一个step之后。查了help:
web_reg_save_param is a registration type function. It registers a request to find and save a text string within the Web page that was retrieved. The operation is performed only after executing the next action function, such as web_url.
以上意思是web_reg_save_param 只是注册了一个请求,这个请求将在下一个step后才真正执行。
******************************************************************
2、5楼加#的方法似乎不能用。
******************************************************************
3、分享一些我的使用经验:当web_reg_save_param返回的是数组时,如何访问其中某个值,如param_5, 而5这个下标不是具体的数值,而是一个变量的情况。
以下是具体的代码:
char lastNode[200];
int nodeCount;
char lastNodeID[200];
Action1_addNode()
{
web_reg_save_param("newNodeID",
"LB/IC=parent='treeFolderTr_{courseID}' name='treeFolderTr_",
"RB/IC=\'",
"Ord=All",
"Search=Body",
"RelFrameId=1",
LAST);
//注意上面的Ord=All, 表示返回所有匹配的字符串,因此newNodeID是一个数组。
web_url("courseView.do",
"URL=http://192.168.1.38:8080/skills/recorder/courseView.do?
fwcid=contents&feature=course&action=addLobject&key=&
value=recordContent&randnum=0.08241337502500479",
"Resource=0",
"RecContentType=text/html",
"Referer=http://192.168.1.38:8080/skills/recorder/courseView.do?
fwcid=contents&feature=course&action=select&
courseKey={courseID}&key={courseID}",
"Snapshot=t44.inf",
"Mode=HTTP",
LAST);
//得到数组的个数。
nodeCount = atoi(lr_eval_string("{newNodeID_count}"));
//格式化字符串:newNodeID_5(假设数组的个数是5), 使之表示数组中最后一个值。
sprintf(lastNode, "{newNodeID_%d}", nodeCount);
//lr_log_message("the last is: %s", lr_eval_string(lastNode));
//将newNodeID数组的最后一个值赋给变量lastNodeID,lastNodeID将在后面的脚本中引用。
lr_save_string(lr_eval_string(lastNode), "lastNodeID");
web_url("courseView.do_2",
"URL=http://192.168.1.38:8080/skills/recorder/courseView.do?
fwcid=contents&feature=lobject&action=select&key={lastNodeID}
。。。。。。。。。。
[ 本帖最后由 麦子华华 于 2007-1-25 16:42 编辑 ] |
|