首页 > 解决方案 > PowerShell、Selenium、隐藏控制台输出

问题描述

我正在使用 Selenium 和 PowerShell 在办公室的大型监视器上的 Internet Explorer 中启动仪表板显示。我像这样启动它:

$seleniumOptions = New-Object OpenQA.Selenium.IE.InternetExplorerOptions
$seleniumOptions.BrowserCommandLineArguments = "-k"

$seleniumDriver = New-Object OpenQA.Selenium.IE.InternetExplorerDriver($seleniumOptions)

这一切都很好。但是,当它启动 IEDriverServer.exe 的实例时,您会看到带有调试输出的黑色控制台窗口。有没有办法隐藏这个黑色的控制台窗口?

谢谢。

更新- 在这个、mklement0 和 JimEvans 的帮助下,我设法将它拼凑在一起,它似乎可以工作 - 谢谢大家:

任何一个(PowerShell 5 之前的版本)

New-Variable -Name IEDS -Value ([OpenQA.Selenium.IE.InternetExplorerDriverService])
$defaultservice = $IEDS::CreateDefaultService()

或者 (PowerShell 5)

$defaultservice = [OpenQA.Selenium.IE.InternetExplorerDriverService]::CreateDefaultService()

接着

$defaultservice.HideCommandPromptWindow = $true;

最后

$seleniumDriver = New-Object OpenQA.Selenium.IE.InternetExplorerDriver -ArgumentList @($defaultservice, $seleniumOptions)

标签: powershellselenium-webdriverselenium-iedriver

解决方案


.NET 绑定提供了一种隐藏由 IEderverServer.exe 生成的命令提示符窗口的方法。下面列出了在 C# 中演示的代码。将其翻译为与 PowerShell 一起使用的练习留给读者。

var service = InternetExplorerDriverService.CreateDefaultService();
service.HideCommandPromptWindow = true;

// Set IE driver options here
var options = new InternetExplorerOptions();

IWebDriver driver = new InternetExplorerDriver(service, options);

推荐阅读