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' 及其脚本接口。)