PowerShell, Selenium, Hide Console Output - PullRequest
0 голосов
/ 15 октября 2018

Я использую 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)

1 Ответ

0 голосов
/ 15 октября 2018

Привязки .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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...