使用imacro js编辑iframe名称

时间:2017-07-02 13:41:28

标签: javascript imacros

我有一个代码只是编辑框架的名称,在正常页面中它的工作: https://www.google.com/recaptcha/api2/demo?invisible=true 或任何包含recaptcha的单页。

但是在这个网站上有3个框架,带有recaptcha: http://multytabrailblocks.tk/

代码不会更改框架的名称,因为它的框架在框架内。 我需要帮助来解决它

FRAME F=2
URL GOTO=javascript:((function(){var%20a=window.content.document.getElementsByTagName('iframe');var%20k='';for(var%20x=0;x<a.length;x++)if(a[x].src.includes('https://www.google.com/recaptcha/api2/bframe')){a[x].setAttribute("name","newname")}}))()
FRAME NAME="newname"
'frame name still not "newname"

1 个答案:

答案 0 :(得分:0)

我的想法是:

iimPlayCode("URL GOTO=https://www.yahoo.com/");
// there's no "newname" yet
alert(iimPlayCode("FRAME name=newname"));

for (i = 0; i < window.frames.length; i++) {
    try {
        window.frames[i].document.getElementsByTagName("iframe")[0].setAttribute("name","newname");
    } catch(e) {
    }
}

// now it should be alright
iimPlayCode("FRAME name=newname" + "\n" + "TAG POS=1 TYPE=* ATTR=* EXTRACT=HTM");
alert(iimGetExtract());

在&#39; iMacros for Firefox&#39;下试用v.8.9.7并针对您的问题调整此脚本。 我假设您了解JavaScript的基础知识。