Imacros 获取下拉列表中的选项数
Imacros get number of options in dropdown list
我正在为 select html select 元素中的随机选项创建一个 macros 脚本。
像这样:
mcr +="TAG POS=1 TYPE=SELECT ... CONTENT=#"+opcionAleatoria(12)+ '\n';
其中opcionAleatoria()是一个获取随机数的函数:
而total是select里面的选项总数。
function opcionAleatoria(total) {
return Math.floor(Math.random() * total) + 1;
}
我希望现在能够将 总计 (select 中的选项数量)作为函数的参数传递。
为什么?
两个原因:
- 所以我不用数了
- 所以它适用于组合框。
我尝试传递 document.form.select_id.options.length,但它不会工作,因为在 macros 中 document 未定义。
你对我如何处理这个案子有什么想法吗?
尝试像这样修改你的表达式:
var total = window.document.forms[0].select_id.options.length;
如果上述建议的方法不起作用,这里有更可靠的方法:
iimPlay("CODE:TAG POS=1 TYPE=SELECT ... EXTRACT=TXTALL");
var total = iimGetExtract().split("[OPTION]").length;
(我假设您使用 'iMacros for Firefox' 及其脚本接口。)
我正在为 select html select 元素中的随机选项创建一个 macros 脚本。
像这样:
mcr +="TAG POS=1 TYPE=SELECT ... CONTENT=#"+opcionAleatoria(12)+ '\n';
其中opcionAleatoria()是一个获取随机数的函数:
而total是select里面的选项总数。
function opcionAleatoria(total) {
return Math.floor(Math.random() * total) + 1;
}
我希望现在能够将 总计 (select 中的选项数量)作为函数的参数传递。
为什么?
两个原因:
- 所以我不用数了
- 所以它适用于组合框。
我尝试传递 document.form.select_id.options.length,但它不会工作,因为在 macros 中 document 未定义。
你对我如何处理这个案子有什么想法吗?
尝试像这样修改你的表达式:
var total = window.document.forms[0].select_id.options.length;
如果上述建议的方法不起作用,这里有更可靠的方法:
iimPlay("CODE:TAG POS=1 TYPE=SELECT ... EXTRACT=TXTALL");
var total = iimGetExtract().split("[OPTION]").length;
(我假设您使用 'iMacros for Firefox' 及其脚本接口。)