0

さて、ウェブサイトでimacroを実行しています..そして、何度も何度もやり直すことなく、すべてのフィールドに何度も入力できるように実行しています。

これは、フォームが自動入力しようとしている Web サイトです: http://ohiohiphopawards.com/vote-now/2013-nominations

下部の電子メールについては、マクロがループするたびに別の電子メールを入力したいと考えています。

そのために私はjavascriptコードを持っています..まあ、コードは大きいので、小さいものをもう1つ作成しました:

myfruits = new Array();myfruits.push("Strawberry");
myfruits.push("Banana");
myfruits.push("Kiwi");
myfruits.push("Orange");
myfruits.push("Mango");


function getFruit() {
for(i=0;i<10;i++) //change 10 to the number of times you want it to be ran
{
   randomint = Math.floor(Math.random()*myfruits.length);
   }
   return  myfruits[randomint];
}
   iimSet("fruit",myfruits[randomint]); //in the macro you can access the random fruit through {{fruit}} much like you would {{!VAR1}}
   iimPlay("fruitmacro.iim");

そして、imacro コードは次のとおりです。

VERSION BUILD=8300326 RECORDER=FXTAB T=1
URL GOTO=http://ohiohiphopawards.com/vote-now/2013-nominations
WAIT SECONDS=0
FRAME NAME="iframe"
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:take ATTR=NAME:answer[8] CONTENT=KPT
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:take ATTR=NAME:answer[18] CONTENT=KPT
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:take ATTR=NAME:answer[20] CONTENT=BloodSho
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:take ATTR=NAME:answer[25] CONTENT=KPT<SP>-<SP>Welcome<SP>Back
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:take ATTR=NAME:answer[35] CONTENT=KPT<SP>ft<SP>Snoop<SP>Doff<SP>&<SP>Bella<SP>Nae<SP>-<SP>How<SP>It<SP>Goes
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:take ATTR=NAME:answer[41] CONTENT=KPT
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:take ATTR=ID:email CONTENT={{fruit}}
WAIT SECONDS=5

残念ながら、一番下の電子メール部分に到達すると..jsファイルで指定されたさまざまなオプションに移動する代わりに、「_ undefined _」が表示され続けます

誰でもこれを修正する方法を知っていますか? 未定義の代わりに、マクロがループするたびに異なるフルーツ名を取得しますか?

PS 果物はランダムです..コードが正しく機能したら、それを実際のメールに変更します。

4

2 に答える 2

0
function getFruit() {
for(i=0;i<10;i++) //change 10 to the number of times you want it to be ran
{
   randomint = Math.floor(Math.random()*myfruits.length);
   }
   return  myfruits[randomint];
}
   iimSet("fruit",myfruits[randomint]); //<-- This is your problem
   iimPlay("fruitmacro.iim");

ループの外側に「果物」を設定します。この方法ではアクセスできないと思います。このようにしてみてください

for(i=0;i<10;i++) //change 10 to the number of times you want it to be ran
{
   randomint = Math.floor(Math.random()*myfruits.length);
   iimSet("fruit",myfruits[randomint]);
   iimPlay("fruitmacro.iim");
   }

マクロをループするには、そのループ内に iimSet と iimPlay を配置する必要があります。そうしないと、変数にアクセスできなくなります。

ループと switch ステートメントはいくつでも設計できますが、問題は、どのマクロがいつ再生され、変数がどのように設定されているかを確認する必要があることです。役立つことを願っています

** *ここで編集* ** * これは私の js ファイルの内容です:

var fruitmacro;
    fruitmacro =  "CODE:";
    fruitmacro +=  "VERSION BUILD=7601105 RECORDER=FX" + "\n";
    fruitmacro +=  "URL GOTO=http://ro-bot.fr/flish/01.html" + "\n";
    fruitmacro +=  "TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:take ATTR=ID:email CONTENT={{fruit}}" + "\n";
    fruitmacro +=  "WAIT SECONDS=5" + "\n";

var myfruits = ["apple","orange","peach","grapes"];
for(i=0;i<10;i++) 
{
   randomint = Math.floor(Math.random()*myfruits.length);
   iimSet("fruit",myfruits[randomint]);
   iimPlay(fruitmacro);
   }

そして、これはhtmlファイルの内容です:

<input type="text" name="take" id="email" size="100" maxlength="100" /><br />

それはテストされ、動作します。あなたのコードには壊れる何かがなければなりません。

**編集2 * *

気をつけて; など - 問題が発生する可能性があります

于 2013-06-06T19:35:01.963 に答える
0
function exec (command){
    var headerCommand = "CODE:\nVERSION BUILD=9030808 RECORDER=FX\n";
    iimPlay(headerCommand + command);
};

exec("URL GOTO=http://xxx");
exec("TAG POS=1 TYPE=INPUT:TEXT ATTR=ID:txt_Username CONTENT=root");
alert ($('iframe[id=frameContent]').contents().find('#wlSsid').val());
于 2016-12-11T00:08:29.713 に答える