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
内容仅个人学习使用,不能作为商业用途,一经发现责任自负!