2

フォームの自動入力に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)はfirefoxを使用しており、上記の場所にあることに注意してください。

「 http://wiki.imacros.net/JavaScript 」というアプローチを試しましたが、機能しません。私は何かが足りないのですか?Visual Studioで上記のコードを試し、デフォルトのブラウザーをIEにしました。何か提案をしてください。

ありがとう

4

1 に答える 1

2

別のプログラムからImacrosプログラム(.iim)を呼び出すことはできませんが、javascriptを使用して、1つの変数を渡す1つ以上の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}}
于 2012-12-06T17:44:12.317 に答える