powershell - 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)
解决方案
.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);
推荐阅读
- javascript - D3 + React - 当更新数据到达时重新绘制整个力图,而不是仅更新链接
- c# - 如何在 JetBrains Rider 的同一个项目中创建 MVC 和 Web API 项目?
- c# - 如何使用 Google Calendar API 在 C# 中的 Google Meet 中创建视频会议活动?
- git - 如何将git存储空间从SSD移动到硬盘
- reactjs - 任何人都可以使用我的 GET 端点获取我的博客文章并在他自己的网站上使用它们吗?有没有办法保护这个?
- visual-studio-code - 使用带有 slurm 的笔记本
- angular - 是否可以在角度路由器初始化之前执行一些逻辑(API 调用)?
- algorithm - 如何在多边形对象中找到相交点
- prolog - 给定prolog谓词返回true时,如何打印写入值?
- javascript - Google Analytics OAuth2 客户端 ID 本地主机