Asa*_*zar 1 powershell internet-explorer powershell-3.0
1) 如何在 PowerShell 中使用 Internet Explorer?
2) 如何使用Powershell在私有模式下使用 Internet Explorer
我看到很多关于如何在 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) 问题
最后)我真的建议下载该
这将为您的文档对象添加功能,例如使用类名称搜索以及我发现有用的更多功能
| 归档时间: |
|
| 查看次数: |
2585 次 |
| 最近记录: |