我正在将Selenium与PowerShell配合使用,以在Internet Explorer中在办公室的大型显示器上启动仪表板显示。我这样启动它:
$seleniumOptions = New-Object OpenQA.Selenium.IE.InternetExplorerOptions
$seleniumOptions.BrowserCommandLineArguments = "-k"
$seleniumDriver = New-Object OpenQA.Selenium.IE.InternetExplorerDriver($seleniumOptions)
一切正常。但是,当它启动IEDriverServer.exe的实例时,您会看到一个带有调试输出的黑色控制台窗口。有没有办法从视图中隐藏此黑色控制台窗口?
谢谢。
更新-在this,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)
答案 0 :(得分:1)
.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);