Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PowerShell、Selenium、隐藏控制台输出_Powershell_Selenium Webdriver_Selenium Iedriver - Fatal编程技术网

PowerShell、Selenium、隐藏控制台输出

PowerShell、Selenium、隐藏控制台输出,powershell,selenium-webdriver,selenium-iedriver,Powershell,Selenium Webdriver,Selenium Iedriver,我正在使用Selenium和PowerShell在办公室的大显示器上启动Internet Explorer中的仪表板显示。我是这样开始的: $seleniumOptions = New-Object OpenQA.Selenium.IE.InternetExplorerOptions $seleniumOptions.BrowserCommandLineArguments = "-k" $seleniumDriver = New-Object OpenQA.Selenium.IE.Intern

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

或(PowerShell 5)

然后

$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);

由于您正在实例化一个进程中的类,并且希望将结果实例保存在一个变量中,因此无法控制该类的操作。因此,除非传递给构造函数的选项允许以不可见的方式启动
*.exe
,否则最好是在弹出窗口后隐藏窗口。顺便说一下:请不要将伪方法语法用于
新对象
;正确的形式是
新对象OpenQA.Selenium.IE.internetexplorerdrive$seleniumOptions
,它是
新对象OpenQA.Selenium.IE.internetexplorerdrive-ArgumentList$seleniumOptions
的缩写
$seleniumDriver = New-Object OpenQA.Selenium.IE.InternetExplorerDriver -ArgumentList @($defaultservice, $seleniumOptions)
var service = InternetExplorerDriverService.CreateDefaultService();
service.HideCommandPromptWindow = true;

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

IWebDriver driver = new InternetExplorerDriver(service, options);