我正在使用imacro的概念来自动填写表格。我录了一张,拿到了剧本。
例如:-
VERSION BUILD=7601105 RECORDER=FX
TAB T=1
URL GOTO=http://mysite/home.aspx
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:home.aspx ATTR=ID:ContentPlaceHolder1_txtUsername CONTENT=samual
SET !ENCRYPTION NO
TAG POS=1 TYPE=INPUT:PASSWORD FORM=ACTION:home.aspx ATTR=ID:ContentPlaceHolder1_txtPassword CONTENT=sampassword
TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:form1 ATTR=ID:ContentPlaceHolder1_btnLogin
TAG POS=1 TYPE=A ATTR=ID:ContentPlaceHolder1_bpo_TabContainer_tbpnl_lnk_address_0
TAG POS=1 TYPE=INPUT:IMAGE FORM=ID:form1 ATTR=ID:Logout但是我的实际需求是在一个按钮上单击,我需要调用这个宏,每次表单字段值都可能发生变化。因此,我需要动态地将这些新值传递给宏。我想,就像点击那个按钮一样,我将向这些脚本传递新的值,并保存这个宏并调用那个宏。但我不确定这是它的工作方式,还是可以从使用imacro创建的程序中调用宏(如上面所示)?
谢谢
非常感谢你的回答。它提供了一些洞察力。但你能再解释一点吗。因为我对imacro这个概念完全陌生。
<html>
<body>
<script type="text/javascript">
function runimacros() {
var iim1 = new ActiveXObject("imacros");
var ret
ret = iim1.iimInit("-fx");
ret = iim1.iimDisplay("Test Macro");
ret = iim1.iimPlay ("testmacro.iim");//this is the macro which I created in firefox and located C:\Users\MyName\Documents\iMacros\Macros\testmacro.iim
ret = iim1.iimExit();
}
</script>
<a href="javascript:runimacros()">Click to run iMacros</font></a>
</body>
</html>请注意,创建的宏(testmacro.iim)使用的是火狐,它位于上面的位置。
我尝试了'http://wiki.imacros.net/JavaScript‘的方法,但没有起作用。我是不是遗漏了什么?我在Visual中尝试了上述代码,并将默认浏览器设置为IE。请给出任何建议。
谢谢
发布于 2012-12-06 17:44:12
您不能从另一个变量调用Imacros程序(.iim),但可以使用javascript调用一个或多个iim文件,传递一个变量:
var ret;
ret = iimDisplay ("optional message to be displayed on the Imacros banner");
var i='input variable'
ret = iimSet("i", i);
ret = iimPlay("myScript.iim");
/* Check for error */
if (ret = 1) {
/* do useful stuff */
}else
{
err = "The following error occurred: "+iimGetLastError();
alert(err);
};在宏脚本中:
'this way we pass the variable to the input field
TAG POS=1 TYPE=INPUT:TEXT ATTR=ID:ContentPlaceHolder1_txtUsername CONTENT={{i}}https://stackoverflow.com/questions/13717818
复制相似问题