2012-06-29 2 views
0

Я пытался просто так:PowerShell - ждать Firefox, чтобы начать, запустить IMacro и ждать его, чтобы закончить, близко Firefox

'Start-Process "C:\Program Files (x86)\Mozilla Firefox\firefox.exe" -Wait' 
Start-Sleep -s 20 
Start-Process "C:\Program Files (x86)\Mozilla Firefox\firefox.exe" imacros://run/?m=MyJS.js -Wait' 

Но он не заканчивает сценарий, прежде чем двигаться дальше.

И различные попытки с помощью -PassThru, -Wait, -Start-Sleep и комбинация клавиш для запуска JScript, как:

'start-process "C:\Program Files (x86)\Mozilla Firefox\firefox.exe" -PassThru; Start-Sleep -s 20;[void] [System.Reflection.Assembly]::LoadWithPartialName("'Microsoft.VisualBasic");[Microsoft.VisualBasic.Interaction]::AppActivate("Login - Mozilla Firefox");[void] [System.Reflection.Assembly]::LoadWithPartialName("'System.Windows.Forms");[System.Windows.Forms.SendKeys]::SendWait("%5")' 

В конечном счете, что я пытаюсь сделать, это запустить Firefox, запустить imacros JScript, подождите для этого, чтобы закончить, а затем закрыть Firefox.

ответ

0

Я не уверен, почему вы сначала запускаете firefox, а затем запускаете его снова с указанным imacro. Поэтому я пропущу это в своем решении. Я бы сделал что-то вроде этого:

$cmdLine = "C:\Program Files (x86)\Mozilla Firefox\firefox.exe" 
$args = "imacros://run/?m=MyJS.js" 
start-process $cmdLine $args 
Start-Sleep -Seconds 30 
Get-Process | ? {$_.Name -like "firefox"} | %{$_.Close()} 
+0

Я пытался следовать примеру командной строки iMacro, в котором они предполагают, что процесс FF уже запущен. Спасибо! – jmwalkden

+0

Перед запуском iMacros должно быть несколько секунд ожидания (ff должен быть активным до того, как iMacros знает, что существует MyJS.js). Разделение 2 стартапов делает firefox открытым вторым окном. Плагин «TacMix +» не помог (ff ver 14.0.1). плагин 'Site Launcher' работает с помощью горячей клавиши с этим кодом: [пустота] [System.Reflection.Assembly] :: LoadWithPartialName ("'Microsoft.VisualBasic"); [Microsoft.VisualBasic.Interaction] :: AppActivate («Логин - Mozilla Firefox»); [void] [System.Reflection.Assembly] :: LoadWithPartialName («System.Windows.Forms»); [System.Windows.Forms.SendKeys] :: SendWait («% 5») Но не ждет ' – jmwalkden

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