【问题标题】:PowerShell, Selenium, Hide Console OutputPowerShell、Selenium、隐藏控制台输出
【发布时间】:2018-10-14 21:49:39
【问题描述】:

我正在使用 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)

【问题讨论】:

  • 由于您在进程中实例化一个类并希望将结果实例保存在一个变量中,因此您无法控制该类的作用。因此,除非您传递给构造函数的选项允许*.exe 的不可见开始,否则您能做的最好的事情就是隐藏窗口在 弹出之后。顺便说一句:请不要在New-Object 中使用伪方法语法;正确的形式是New-Object OpenQA.Selenium.IE.InternetExplorerDriver $seleniumOptions,是New-Object OpenQA.Selenium.IE.InternetExplorerDriver -ArgumentList $seleniumOptions的缩写

标签: powershell selenium-webdriver selenium-iedriver


【解决方案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);

【讨论】:

    猜你喜欢
    • 2023-03-28
    • 1970-01-01
    • 2015-09-20
    • 1970-01-01
    • 1970-01-01
    • 2017-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多