2012-06-29 97 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在启动之前必须等待几秒钟(在iMacros知道MyJS.js存在之前必须先启用ff)。 分离2个初创公司使firefox打开第二个窗口。插件'TacMix +'没有帮助(14.0.1版)。 '网站启动器'插件通过一个热键使用此代码: [void] [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