我有一些关于 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 在应用程序模式下打开,也会发生同样的情况。
Edge 似乎只生成一个包含所有窗口的标题组。我认为这与Edge的多进程架构有关。
如果您尝试自动化 Edge,我建议您可以使用 WebDriver。