我如何使用 IE 或 IE 在私有模式下使用 powershell

Asa*_*zar 1 powershell internet-explorer powershell-3.0

1) 如何在 PowerShell 中使用 Internet Explorer?

2) 如何使用Powershell在私有模式下使用 Internet Explorer

Asa*_*zar 5

我看到很多关于如何在 powershell 中使用 Internet Explorer Com 对象的问题。

1) Com 对象/内置对象

$IE=New-Object -com InternetExplorer.Application
Run Code Online (Sandbox Code Playgroud)

这意味着通过 IExplorer 应用程序的 Com 对象创建新对象。

现在变量 $IE 具有有关 Internet Explorer 的信息。

默认情况下,网站处于隐藏模式,因此我们需要将其更改为可见。

是不是这样:

$IE.Visible=$true
Run Code Online (Sandbox Code Playgroud)

要导航到其他网站,您可以使用导航功能:

$IE.Navigate("https://www.google.co.il/")
Run Code Online (Sandbox Code Playgroud)

为了检查网站是否已经完成重新加载网络,我们可以使用布尔值 True(尚未加载)、False(完成加载)的 Member/Property Busy

像这样使用:

 while ($IE.Busy -eq $true) {sleep -Seconds 2; } 
Run Code Online (Sandbox Code Playgroud)

为了从像这样的网络获取输入: 在此处输入图片说明

您需要从 IExplorer 获取文档对象

$docs = $IE.Document
Run Code Online (Sandbox Code Playgroud)

现在变量 $docs 获得了 Document 对象。

现在你问:我应该在那里搜索什么?

在 Internet Explorer 中单击 F12 并搜索输入选项卡检查: 在此处输入图片说明

现在我知道了很多关于标签的信息。

让我们获取输入在我的 PowerShell 中,我知道输入名称是“q”,所以让我们按名称搜索:(我们只想要选择一个)

$InputTab = $docs.getElementsByName("q") | select -First 1
Run Code Online (Sandbox Code Playgroud)

现在我们得到了输入,现在让我们输入一些输入:

$InputTab.value = "Your Value"
Run Code Online (Sandbox Code Playgroud)

结果: 在此处输入图片说明

全部代码:

$IE=New-Object -com InternetExplorer.Application
$IE.Visible=$true
$IE.Navigate("https://www.google.co.il/")
while ($IE.Busy -eq $true) {sleep -Seconds 2 } 
$docs = $IE.Document
$InputTab = $docs.getElementsByName("q") | select -First 1

$InputTab.value = "Your Value"
Run Code Online (Sandbox Code Playgroud)

2)像IExplorer对象一样,我们有一个名为“Shell”的Com对象,它收集所有“正在运行”的com应用程序

这意味着像 IExplorer 应用程序一样有更多的应用程序,例如资源管理器(文件夹视图)和越来越多的 Com 对象...

那么我是如何使用Shell的呢?我如何将它用于带有“PrivateMode”的 IE?

很容易

创造它

  $Shell = New-Object -Com Shell.Application
Run Code Online (Sandbox Code Playgroud)

创建 Shell 对象,现在通过以下方式获取所有应用程序:

$Application = $Shell.Windows()
Run Code Online (Sandbox Code Playgroud)

现在

$Application 变量得到了所有 Com Applcation 的集合..

所以只需要使用“私人模式”创建 Iexplore,然后获取该应用程序。

A) 创建 IExplore(只需使用私有模式运行正常进程)

 Start-Process -FilePath "C:\Program Files (x86)\Internet Explorer\iexplore.exe" -ArgumentList ' -private http://Url.Test.NotExist'
Run Code Online (Sandbox Code Playgroud)

B) 创建壳应用

$Shell = New-Object -Com Shell.Application
Run Code Online (Sandbox Code Playgroud)

C) 获取所有 Shell 对象

$Application = $Shell.Windows()
Run Code Online (Sandbox Code Playgroud)

D) 通过 Shell 获取 Internet Explorer 应用程序

$IE = $Application | ?{$_.LocationName -like '*google*'} | select -last 1
Run Code Online (Sandbox Code Playgroud)

我们现在完成了 $IE 在 PrivateMode 中得到了相同的 (1) 问题

最后)我真的建议下载

这将为您的文档对象添加功能,例如使用类名称搜索以及我发现有用的更多功能