Ответ 1
Вы можете использовать Start-Process
, чтобы открыть URL. Если окно браузера уже открыто, оно откроется как вкладка.
Start-Process 'http://www.microsoft.com'
$ie = New-Object -com internetexplorer.application
Каждый раз, когда я открываю новый сайт с этим объектом (т.е. каждый раз, когда выполняется script), он открывается в новом окне IE, и я не хочу, чтобы он это делал. Я хочу, чтобы он был открыт на новой вкладке, но это тоже в ранее открытом окне IE. Я хочу повторно использовать этот объект, когда script запускается в следующий раз. Я не хочу создавать новый объект
Итак, есть ли способ проверить экземпляры Internet Explorer и повторно использовать его экземпляр???
Я пробовал это как решение:
Сначала вы должны подключиться к уже запущенному экземпляру Internet Explorer:
$ie = (New-Object -COM "Shell.Application").Windows() `
| ? { $_.Name -eq "Windows Internet Explorer" }
Затем вы переходите к новому URL-адресу. Когда этот URL открыт, он управляется с помощью параметра Flags:
$ie.Navigate("http://www.google.com/", 2048)
но я не могу вызвать метод navigate
для этого вновь созданного объекта $ie
.
Вы можете использовать Start-Process
, чтобы открыть URL. Если окно браузера уже открыто, оно откроется как вкладка.
Start-Process 'http://www.microsoft.com'
Сначала вы должны подключиться к уже запущенному экземпляру Internet Explorer:
$ie = (New-Object -COM "Shell.Application").Windows() `
| ? { $_.Name -eq "Windows Internet Explorer" }
Затем вы Navigate
добавили новый URL. Если этот URL открыт, он контролируется с помощью параметра Flags
:
$ie.Navigate("http://www.google.com/", 2048)
Изменить:. Если запущено 2 или более экземпляра IE (дополнительные вкладки также подсчитываются как дополнительные экземпляры), перечисление вернет массив, поэтому вам нужно выбрать конкретный экземпляр из массива:
$ie[0].Navigate("http://www.google.com/", 2048)
Вы можете использовать это, если Internet Explorer не является браузером по умолчанию:
Function Open-IETabs {
param (
[string[]]$Url
)
begin {
$Ie = New-Object -ComObject InternetExplorer.Application
}
process {
foreach ($Link in $Url) {
$Ie.Navigate2($Link, 0x1000)
}
}
end {
$Ie.Visible = $true
}
}
Я нашел это на PowerShell.com