Html 找不到iframe内容

Html 找不到iframe内容,html,powershell,iframe,Html,Powershell,Iframe,在我的工作中,我使用powershell通过Internet explorer自动化本地aspx web应用程序。我学到了我认为完成这些任务所必需的东西。我可以登录,从下拉列表中选择并提交表单。我没有添加代码,因为我觉得它会从真正的问题中剥离出来,我觉得这是一个更基本的问题 最后,我进入了一个页面,我只想点击这个按钮。我搜遍了页面的来源,没有发现任何关于按钮或点击的内容。非常令人失望 然后,我在InternetExplorer中使用F12开发者工具,并使用“搜索HTML”功能作为按钮。瞧,我找到

在我的工作中,我使用powershell通过Internet explorer自动化本地aspx web应用程序。我学到了我认为完成这些任务所必需的东西。我可以登录,从下拉列表中选择并提交表单。我没有添加代码,因为我觉得它会从真正的问题中剥离出来,我觉得这是一个更基本的问题

最后,我进入了一个页面,我只想点击这个按钮。我搜遍了页面的来源,没有发现任何关于按钮或点击的内容。非常令人失望

然后,我在InternetExplorer中使用F12开发者工具,并使用“搜索HTML”功能作为按钮。瞧,我找到了。按钮是一个输入元素,在这个丑陋的HTML页面中有许多层。为什么这个元素在这里而不在页面源中?!!感谢我的挫折


如果有帮助的话,它位于div内部的iframe内部。我已经做了我能在iframes上找到的一切。。。例如.contentdocument和.contentwindow以及eitherone.document,但它们都是空的。我在我的开发工具的iframethtml中看到了它。世界跆拳道联盟。我找不到这个元素。请帮忙

这实际上是IE对象模型中令人沮丧的一部分。iFrame就在那里,但是有点难找到。下面是一些在使用我的模块启动页面后操作iFrame的示例代码

# Gets the active browser (at this point in the script it will be the create or edit contribution page)
$browser = Get-browser | Where-Object { $_.LocationUrl -like "http://gallery.technet.microsoft.com/*" }
$b = $browser
# Search thru the iFrames within the document for the frame you want
$editorFrame = $b.Document.getElementsByTagName("iframe") |
    Where-Object { $_.Src -like "*source_editor.htm" }
$aboutModule = 'stuff'
# Update the content in the inner frame
$editorFrame.contentDocument.getElementById("htmlSource").value = $aboutModule
$editorFrame.contentDocument.getElementById("insert").click()

只要看看iFrame操作的笨拙,我就想向AutoBrowse添加函数,使其更容易。我可以这么做。无论如何。这就是如何操纵浏览器对象以使用iFrame内容。享受。

要解决此问题,访问iframe内容的传统方法工作正常。通过在那里创建变量doc2=$iframename.contentwindow.document等,我能够找到所需的元素。我不完全明白为什么我不能早点做。我试图通过Powershell命令行而不是ISE来执行此操作。这在ISE中作为脚本运行良好。感谢大家的帮助。

因为它是在运行时用JavaScript添加的。你们不会在页面源代码中看到它,因为它反映了从服务器下载的页面源代码。它是在一个内部的。我已经做了我能找到的关于主题的一切来访问内容,但仍然找不到。那么我可以捕获一个在运行时添加的元素吗?如果它在iframe中…您只是在错误的位置搜索。使用任何getElementsByXYZ都找不到它,因为它将遍历页面DOM,而不是iframe DOMIt,这还不足以让您等待页面本身已加载文档准备就绪,您必须为iframe本身执行此操作。搜索它,然后等待其加载事件。