所以這是發(fā)生在我身上的瘋狂事情。我想在網(wǎng)站中嵌入Google表單。我需要自動(dòng)填充和隱藏表單字段之一。這是一些html:<!DOCTYPE html><html> <head> </head> <body> <iframe src="https://docs.google.com/forms/d/e/1FAIpQLSdisob821_bYS5Ya_r460Bn0RHYSB5xqIW6Yz-z4WPwEVjxMQ/viewform?embedded=true" width="640" height="734" frameborder="0" marginheight="0" marginwidth="0" >Loading...</iframe > </body></html>漂亮又簡(jiǎn)單。現(xiàn)在,如果我在瀏覽器(當(dāng)前為Chrome)中運(yùn)行該表單,則顯示的很好。我用自己的眼睛看到它。我絲毫沒有陶醉?,F(xiàn)在,在我的開發(fā)人員工具控制臺(tái)中,執(zhí)行以下操作:formFrame = document.querySelector("body > iframe");formFrame.innerHTML; // the value is "Loading..."所以js認(rèn)為我們?nèi)栽陲@示占位符文本?奇怪的。我真的不在乎直接與innerHTML一起工作。我想要的是這樣的:inputContainers = document.querySelectorAll("div.freebirdFormviewerViewNumberedItemContainer");長(zhǎng)度應(yīng)為2。為0如果我在我的開發(fā)工具中查看html元素樹,那么一切似乎都應(yīng)該存在。我使用開發(fā)工具的“檢查元素”功能只是為了確保我使用的選擇器正確。然后我再次執(zhí)行formFrame.innerHTML。我得到了錯(cuò)誤Uncaught ReferenceError: formFrame is not defined。天哪然后,我再次執(zhí)行此操作:inputContainers = document.querySelectorAll("div.freebirdFormviewerViewNumberedItemContainer")它返回兩個(gè)元素。達(dá)到重點(diǎn)我以為我的開發(fā)人員工具的“檢查元素”功能會(huì)引發(fā)一個(gè)事件,該事件導(dǎo)致dom被正確填充。如何在我的代碼內(nèi)部實(shí)現(xiàn)這一目標(biāo)?我非常擔(dān)心自己可能會(huì)遇到某些安全功能,而無(wú)法在我的應(yīng)用程序中使用Google表單。任何幫助或見識(shí)將不勝感激!
如何獲取iframe innerHTML來表示頁(yè)面上實(shí)際可見的內(nèi)容?
蕪湖不蕪
2021-04-26 13:41:08