PowerShell, Объект = Запустить процесс?

Здравствуйте, я хочу запустить Internet Explorer без расширений и управлять им. (переход на другие страницы, нажатие кнопок и т. д.)

Когда я использую команду: «Start iexplore.exe -ArgumentList -extoff», у меня есть IExplore без расширений, но без объекта. Мне нужен объект для перехода на разные страницы и нажатия кнопок. "$ie = Start iexplore.exe -ArgumentList -extoff" невозможно с помощью команды "Start X"

Следующий код создает Com-объект, и все, что я хочу, возможно без «Extensions = off»

  • $ie = New-Object -ComObject InternetExplorer.Application
  • $ie.Navigate("http://www.stackoverflow.com")
  • $ie.Navigate("www.Перейти на другую страницу.com")
  • $ie.Document.getElementById("ButtonID")|foreach{
  • $_.Нажмите()
  • }

person LaPhi    schedule 19.10.2010    source источник


Ответы (1)


Это настоящий хак, но вы можете настроить командную строку запуска COM, чтобы IE передавал аргумент -extoff. Запись реестра для запуска IE на моей машине (с IE9):

HKEY_CLASSES_ROOT\CLSID{0002DF01-0000-0000-C000-000000000046}\LocalServer32

Обратите внимание, что вам может потребоваться переопределить разрешения regkey, чтобы изменить значение.

person Keith Hill    schedule 19.10.2010
comment
Привет, Кит, большое спасибо! Можете ли вы рассказать мне больше о редактировании? Я нашел: HKEY_CLASSES_ROOT\InternetExplorer.Application\CLSID, но что мне нужно отредактировать? - person LaPhi; 20.10.2010
comment
извините HKEY_CLASSES_ROOT\CLSID\{0002DF01-0000-0000-C000-000000000046} это мой IE - person LaPhi; 20.10.2010
comment
Вы редактируете значение по умолчанию для regkey LocalServer32. Значение представляет собой командную строку, которая запускает IE.exe. Просто добавьте -extoff вне двойных кавычек, например. "C:\Program Files\Internet Explorer\iexplore.exe" -extoff. Еще раз, это хак, но он может сработать для вас. - person Keith Hill; 20.10.2010