在imacros中访问动态创建的iframe

时间:2015-10-07 13:33:55

标签: iframe imacros

我需要帮助实现imacros脚本。

我的基础脚本如下所示:

VERSION BUILD=8940826 RECORDER=FX
TAB T=1
URL GOTO=URL
TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:login-custnum CONTENT=12345
TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:login-username CONTENT=myuser
SET !ENCRYPTION NO
TAG POS=1 TYPE=INPUT:PASSWORD ATTR=NAME:login-password CONTENT=password
TAG POS=1 TYPE=BUTTON ATTR=NAME:login-login

此脚本有效,登录已执行。

在此之后,我需要使用3个iframe中的一个。 我不能用

 FRAME NAME="menu_iframe"

因为帧是动态创建的而不是静态的。

我尝试了以下内容:

var myframe = window.frames["menu_iframe"];

但这不起作用。

之后我想点击那个iframe中的某个按钮。

提前致谢

1 个答案:

答案 0 :(得分:1)

首先,我建议检查帧名称。尝试下面只包含一行的宏。它必须使用“警报”对话框显示页面上所有帧的名称。

URL GOTO=javascript:{window.location.href='javascript:{var<SP>f=[];var<SP>l=window.frames.length;for(i=0;i<l;i++){try{f.push("\\""+window.frames[i].name+"\\"");}catch(e){f.push("no_frame_name")}}alert("FOUND<SP>"+f.length+"<SP>FRAMES:"+"\\n\\n"+f.join("\\n"));}';undefined;}