【问题标题】:Open chrome in new tab rather than new windows via powershell start-process通过 powershell 启动过程在新选项卡而不是新窗口中打开 chrome
【发布时间】:2017-05-03 13:57:12
【问题描述】:
start-process "chrome.exe" '--profile-directory="Default"'

当我多次运行此命令时,它会在单独的窗口中打开我的默认配置文件镶边。当我的默认配置文件 chrome 已经打开时,我该怎么做才能打开新标签页?

【问题讨论】:

  • 我怀疑Start-Process 是否会让你到达那里。您可能需要对现有的 Chrome 进程进行一些处理。
  • 你想打开什么新标签?大概你想打开一个特定的页面?在这种情况下,您可以使用以下方式利用默认浏览器行为:Start-Process -FilePath "http://google.com"
  • 我想通过 chrome http://localhost:9876/debug.html 中的 karma 调试测试,但我对总是弹出 chrome 窗口感到非常恼火。在运行测试时刷新一个打开的选项卡可能会很棒。我想我会尝试以某种方式通过.sh 文件运行 chrom 以达到这一点

标签: google-chrome powershell cmd


【解决方案1】:

这将为我打开一个标签而不是一个新窗口:

start-process "chrome.exe" "http://localhost:9876/debug.html",'--profile-directory="Default"'

但是,如果你只想刷新一个页面(就像你在 cmets 中所说的那样),你也可以像这样在 Powershell 中使用一个小的 WindowsScript:

#  * Get a WindowsScript Shell
$WindowsScriptShell = New-Object -ComObject wscript.shell

#  * Check if Chrome is running and activate it
if ($WindowsScriptShell.AppActivate('Chrome')) {

    # * Take a nap to give Windows time to focus Chrome
    Sleep 2 

    # * Refresh the page by sending the F5 Key
    $WindowsScriptShell.SendKeys('{F5}')
}

# * If Chrome isn't there, tell us
Else {
    Write-Output "Chrome is not started!"
}

接近了吗?

使用 VBScript,您还可以使用 CTRL+<Number> 组合在刷新之前切换到特定选项卡。所以你必须添加 $vbscriptShell.SendKeys('^2') 在 F5 键之前。我还尝试使用CTRL+T(VBScript 中的'^T')打开一个新选项卡,但这会打开一个新窗口,然后由于某种原因打开一个新选项卡...

【讨论】:

  • 我试过$WindowsScriptShell.SendKeys('^1'); Sleep 2; $WindowsScriptShell.SendKeys('{F5}') 似乎没问题,但它很棘手,我必须一直将我的测试选项卡作为第一个选项卡,IE 通过 powershell 更可控,但是...... :) 最后我在后台使用PhantomJS 运行测试,在 cmd 中打印报告并添加 npm 脚本以在需要时运行 chrome html 报告,无论如何感谢您的帮助
猜你喜欢
  • 2012-01-28
  • 2011-06-21
  • 2017-05-19
  • 1970-01-01
  • 2011-10-29
相关资源
最近更新 更多