0

我试过这样简单:

'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以及使用,和一个组合键来启动 jscript 的各种尝试-Wait,例如:-Start -Sleep

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

4

1 回答 1

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()}
于 2012-07-02T12:27:42.447 回答