尝试通过窗口标题停止 msedge 的进程

问题描述 投票:0回答:1

我有一些关于 Microsoft Edge 和 PowerShell 的问题。

当打开两个具有不同窗口标题的 Edge Windows 时,我想在 PowerShell 中指定一个窗口标题,并使用 Stop-Process 关闭具有该窗口标题的窗口。具有预期规格的 ps1 文件代码如下。

$TargetTitle = "test"

$EdgeProcesses = (Get-Process -Name msedge)
foreach ($process in $EdgeProcesses) {
    $title = $process.MainWindowTitle
    if ($title -eq $TargetTitle) {
        $id = $process.Id
        Stop-Process -Id $id
    }
}

当标题为 A 和 B 的窗口打开时,当你使用上面的代码指定标题为 A 的窗口并 Stop-Process 时,它不仅会包含标题为 A 的窗口,还会包含所有 Edge 窗口,包括标题 B 的窗口。即使 Edge 在应用程序模式下打开,也会发生同样的情况。

  1. 为什么上面的代码会有这样的表现?
  2. 如果您在激活上面最后一个标题为 Otsu 的窗口后运行上述代码,该窗口将不会首先关闭。这是为什么。
powershell process microsoft-edge
1个回答
0
投票

Edge 似乎只生成一个包含所有窗口的标题组。我认为这与Edge的多进程架构有关。

如果您尝试自动化 Edge,我建议您可以使用 WebDriver

© www.soinside.com 2019 - 2024. All rights reserved.