在Internet Explorer应用程序对象上搜索

时间:2016-01-06 19:39:27

标签: powershell powershell-v4.0 powershell-ise

我有InternetExplorer.Application

我正在创建一个自动化 和我打开的其中一个页面, 打开了一个看起来像新标签的对话框,但是在同一个过程中(我通过任务管理器>> 进程标签检查了同一进程只消耗了更多RAM),如果该对话框应用程序,我找不到该文档。

即使在shell.application 在窗户里它不存在。

我想帮忙找到它

我想在$ie成员上做一些递归,找到一个出现在那里的单词,如果找到一条路径发布到该路径上。

提前谢谢

2 个答案:

答案 0 :(得分:0)

这是一个很长的镜头,但由于它在公司内部网中,很多时候可以是一个对话框,告诉您有SSL证书错误。它可能是公开的,也可能不是基于(错误的?)强制执行的策略。在导航到有问题的URL后,您可能会试图绕过它:

    if ($ie.document.url -Match "invalidcert") {
        $bypass_link = $ie.Document.getElementsByTagName("a") | where-object {$_.id -eq "overridelink"}
        $bypass_link.click()
        while ($ie.ReadyState -ne 4) {
            start-sleep -m 100
        }
        "Done!"
    };

答案 1 :(得分:0)

听起来对话框是同一IE实例中的一个窗体。这将是一个文档元素。

$ ie.document.documentelement.all | foreach {$ DE = $ _; $ DE |其中{$ _。innerhtml-匹配“我的搜索论点”}} | foreach {$ DE | select uniqueID}}

一旦标识了唯一ID,就可以使用$ ie.Document.getElementById('ms__id14')