PowerShell、Selenium、隐藏控制台输出
我正在使用Selenium和PowerShell在办公室的大显示器上启动Internet Explorer中的仪表板显示。我是这样开始的: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
$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);