链接js和immacro来自动填写表单
linking js and imacro to auto fill a form
我在一个网站上运行imacro…我运行它,这样它就会为我填写所有的字段,而不需要我一遍又一遍地做。
这是我尝试自动填写表单的网站:http://ohiohiphopawards.com/vote-now/2013-nominations
对于底部的电子邮件,我希望每次宏循环时输入不同的电子邮件。
因此,我有一个javascript代码…代码太大了,所以我做了一个小一点的:
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");
immacro代码是:
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_"
有人知道如何解决这个问题吗?因此,而不是未定义,我将得到一个不同的水果名称每次宏循环?
注:水果都是随机的…一旦代码正常工作,我会将其更改为实际的电子邮件。
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");
将"fruit"设置在循环之外。我不认为可以通过这种方式进入。像这样试试
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 />
经过测试并且有效。你的代码中一定有别的地方出了问题。
* * edit2 * *
注意;这可能会有问题
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());
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- JS验证ajax返回的html中的表单数据
- JS表单提交"无法使用Chrome数据保护程序加载此页面.尝试重新加载页面.调试信息:POST CISmtuK
- 如何在.js函数中检索来自其他模板的表单的目标值
- Knockout.JS,模板都是通过表单不添加数据的
- 如何将JS数组添加到Meteor自动表单条目中
- Parsley.js,多步骤表单,在移动到上一步时跳过验证
- 如何在js中实现树结构类型的表单动态填充
- Mailchimp内联表单验证不适用于JS加载的HTML
- jQuery/JS获胜't在表单验证后重定向
- 页面上的2个表单带有JS验证-其中一个抛出电子邮件验证错误
- 使用node-js上传文件,并将表单信息存储在数据库(mysql)中
- 如何在表单.js中插入选择多个选项字段
- Ajax 切换表单 JS(轨道)
- 需要帮助将值表单JS传递到PHP
- 订单表单- JS警报当所有的输入字段值为0
- 谷歌浏览器不提交表单(JS错误?
- 骨干表单.js - 我可以在脚本中配置文本字段,或者在渲染后使用 jQuery 完成它
- 甜蜜警报与表单JS(3个输入)
- 需要帮助修改表单JS脚本以添加成功消息