无法使用 javascript 抓取 iframe 中的框架和框架集(域相同)



我要与javaScript一起抓取位于嵌套在iframe和框架中的框架中的HTML元素。HTML结构看起来像这样:

<iframe id="central_iframe" name="central_iframe" (...)>
    <frameset cols="185, *" border="0" framespacing="0" frameborder="0">
        <frame src="/subdomain" name="SideFrame" id="SideFrame" (...)>

以前我已经这样做了:

myIframe = document.getElementById('central_iframe');
mySideFrame = myIframe.contentDocument.getElementById('SideFrame');
myElement = mySideFrame.contentDocument.getElementById('iWantToGrabThis');

但是,这在这里不起作用,因为myiframe.contentDocument返回null。另一方面,myiframe.contentwindow返回一个根本没有属性的窗口(因此myiframe.contentwindow.document是不确定的)。同样,当我尝试

central_iframe.SideFrame

也没有任何属性的窗口。

编辑:页面不是我的,因此我无法更改其源。我只是想与之互动。

我正在进行Chrome Developer工具中的测试。我还尝试了Geckofx中的相同结果。任何帮助将不胜感激。

一个iframe指向带有src属性的其他源!您不能将任何HTML嵌入iframe中。将框架集放入HTML文件中,您可以在其中用iframe src指向。然后,您将能够从 window.parent中选择脚本中的iframe。您可以使用document.frames

访问框架的框架

进行了更多研究后,贾斯汀·摩根的建议是正确的,我想要的是不可能的。我通过将父母iframe加载到浏览器中开始进行部分解决方法。这使我可以正常访问子框架(侧面框架)。

最新更新