繁体   English   中英

访问iFrame的内容时出错

[英]Error accessing contents of iFrame

我试图在隐藏的iFrame中加载多个链接,一个接一个,但此行出现错误

frame.contentDocument.getElementsByClassName('radiopad')[0].getElementsByTagName('input')[0].checked = true;

声明:

Uncaught TypeError: Cannot call method 'getElementsByTagName' of undefined 

本质上,我想在iFrame中加载链接,然后在加载t的页面上填写表单并提交(此代码已经过测试并且可以正常工作),然后,一旦完成,就继续做同样的事情下一个链接。 我目前无法获取iFrame的“文档”(不确定是否是所谓的)。

如果需要,这是我的整个代码段。

frame = document.createElement('iframe');
frame.style.display = 'none'
document.body.appendChild(frame);
for (var i = 0; i < feedbackLinks.length; i++) {
    frame.setAttribute('src', feedbackLinks[i]);
    console.log(frame.contentDocument);
    while (frame.src != 'http://feedback.ebay.com/ws/eBayISAPI.dll') {
        frame.contentDocument.getElementsByClassName('radiopad')[0].getElementsByTagName('input')[0].checked = true;
        frame.contentDocument.getElementById('comment00').value = 'Great Seller';
        var starRatings = ['v4-15', 'v4-27', 'v4-32', 'v4-37'];
        for (var ID = 0; ID < starRatings.length; ID++) {
            if (frame.contentDocument.getElementById(starRatings[ID]) != null) {
                frame.contentDocument.getElementById(starRatings[ID]).click();
            }
        }
        frame.contentDocument.getElementById('but_formSave').click();
    }
    console.log("completed link " + (i + 1));
}

提前致谢 :)

我认为您的iframe指向其他域。 您有违反同域策略的行为

该策略允许脚本在源自同一站点的页面上运行。

请阅读此Wiki 它扩展了您的问题的答案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM