PowerShell - 等待Firefox启动,运行imacro并等待它完成,关闭Firefox

时间:2012-06-29 20:07:25

标签: javascript firefox powershell imacros

我试过这么简单:

'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。

1 个答案:

答案 0 :(得分: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()}