iframe的document操作

导语:

在我写网页代填插件的时候,有遇到拿不到input元素的时候,这时候我去看元素布局,发现有些网站登录那一块是用iframe标签写的,这时候我需要取到的那就是iframe标签下input元素

 

1.获取页面上的所有iframe标签遍历获取每一个iframe

  • 获取所有的iframe标签
let iframes = document.getElementsByTagName("iframe");
  • 遍历获取单个iframe
for (let i = 0; i < iframes.length; i++) {
       let iframeId = iframes[i].id;
       let currentIframe = document.getElementById(iframeId);
}

取完整iframe元素必须用getElementById的方法获取。

2.获取iframe下document元素

let currentDoc = currentIframe.contentDocument || currentIframe.contentWindow.document  

这里主要拿到iframe的document操作元素,有些浏览器可以直接contentDocument获取document操作元素,有些需要通过contentWindow.document获取

3.获取iframe中输入框

let inputs = currentDoc.getElementsByTagName("input");

这样就能获取iframe所有的输入框标签。

*注意:当iframe跨域的时候,就无法获取iframe的document操作。



链接:https://www.jianshu.com/p/9809cd8188dd

posted @ 2019-05-11 22:26  lcspring  阅读(1991)  评论(0编辑  收藏  举报