2013-08-19 2 views
1

Я хочу написать сценарий powershell, который откроет экземпляр Internet Explorer как объект com, чтобы я мог манипулировать им. Проблема в том, что мне нужно запустить его с параметром, чтобы убедиться, что IE запущен как новый сеанс.Powershell com object с параметрами

Параметр, который мне нужно передать, это -noframemerging. Мне нужно передать это, чтобы каждый экземпляр был новым сеансом. Вот код, который я использовал, чтобы запустить экземпляр.

$ie = new-object -com "InternetExplorer.Application" 

Если кто-то может дать мне руку выяснить, как быть в состоянии создать несколько объектов в качестве нового сеанса в IE, что было бы здорово!

+0

http://citator5.rssing.com/browser.php?indx=4016525&item=184 –

ответ

2

Вот мое решение:

$IEProcess = [System.Diagnostics.Process]::Start("iexplore", "-noframemerging") 
Sleep -Seconds 1 
$ie = $(New-Object -ComObject "Shell.Application").Windows() | ? {$_.HWND -eq $IEProcess.MainWindowHandle} 

запускает экземпляр с библиотекой System.Diagnostic.Process, я использовал Start-Process, но получить некоторые странные результаты, это зафиксировано, что право. На данный момент у меня есть экземпляр IE open с переключателем noframemerging и переменной, указывающей процесс.

Я бросил спать там, чтобы дать объекту com возможность построить, прежде чем пытаться ссылаться на него.

Затем я хватаю все объекты com COM и выбираю тот, у которого есть дескриптор (HWND), который является тем же самым, что и тот, который был только что запущен, и назначил его переменной $ ie.

Конечный результат: У меня есть переменная, которая ссылается на объект com Internet Explorer, который не зависит от всех других сеансов. Причина, в которой я нуждалась в этом, в частности, заключается в том, что я открываю множество экземпляров IE и регистрируюсь на веб-сайте с разными учетными записями пользователей, если они разделяют сеанс, страница входа в систему пропускается, и они уже войдут в систему как первый пользователь, который вошел в систему .

Спасибо за помощь всем!

Смежные вопросы