Como executar o Selenium Chrome WebDriver no modo silencioso?

Ao usar o Chrome Selenium-WebDriver, ele gerará saída de diagnóstico quando os servidores forem iniciados:

Iniciado ChromeDriver (v2.0) na porta 9515

Eu não quero ver essas mensagens, como posso suprimi-las?

Eu faço isso

ChromeOptions options = new ChromeOptions(); options.AddArgument("--silent"); IWebDriver Driver = new ChromeDriver(options); 

Mas a saída de diagnóstico não é suprimida.

Eu simplesmente faço isso

 ChromeOptions options = new ChromeOptions(); optionsChrome.AddArgument("--log-level=3"); IWebDriver driver = new ChromeDriver(options); 

Boa pergunta, no entanto, eu não sei onde você conseguiu isso. .AddArgument("--silent"); coisa, como isso é interruptor de linha de comando do Chrome, não para o ChromeDriver. Além disso, não há um switch do Google Chrome chamado --silent .

No namespace OpenQA.Selenium.Chrome , há uma class chamada ChromeDriverService que tem uma propriedade SuppressInitialDiagnosticInformation cujo valor é false. Basicamente, o que você pode querer fazer é criar o ChromeDriverService e passá-lo para o construtor do ChromeDriver. Por favor, consulte a documentação aqui .

Aqui está o código C # que suprime as saídas de diagnósticos do ChromeDriver.

 ChromeOptions options = new ChromeOptions(); ChromeDriverService service = ChromeDriverService.CreateDefaultService(); service.SuppressInitialDiagnosticInformation = true; IWebDriver driver = new ChromeDriver(service, options); 

EDIT: ChromeDriver (não Chrome) tem um argumento de linha de comando --silent , que deveria funcionar. SuppressInitialDiagnosticInformation na binding .NET faz exatamente isso. No entanto, parece apenas suprimir algumas das mensagens.

Aqui está um ticket fechado do chromedriver: Problema 116: Como desativar as mensagens de diagnóstico e o arquivo de log do driver do Chrome?

Para mim, a única coisa que funcionou para

  selenium-chrome-driver-2.48.2.jar chromedriver 2.20 selenium-java-2.48.2.jar 

estava

  ChromeOptions options = new ChromeOptions(); System.setProperty("webdriver.chrome.args", "--disable-logging"); System.setProperty("webdriver.chrome.silentOutput", "true"); driver = new ChromeDriver(options); 

Para mim, nenhuma das respostas anteriores não ajudou, minha solução foi:

  ChromeDriverService service = ChromeDriverService.CreateDefaultService(driverLocation); service.SuppressInitialDiagnosticInformation = true; service.HideCommandPromptWindow = true; var driver = new ChromeDriver(service, options); 

tente este código ele irá esconder o navegador com o argumento “sem cabeça”, mas o Chrome ver deve> 58

(e até mesmo você pode ocultar a janela de prompt de comando)

  IWebDriver driver; ChromeOptions options = new ChromeOptions(); options.AddArguments("--disable-extensions"); options.AddArgument("test-type"); options.AddArgument("--ignore-certificate-errors"); options.AddArgument("no-sandbox"); options.AddArgument("--headless");//hide browser ChromeDriverService service = ChromeDriverService.CreateDefaultService(@"chromedriverExepath\"); service.SuppressInitialDiagnosticInformation = true; //service.HideCommandPromptWindow = true;//even we can hide command prompt window (with un comment this line) options.BinaryLocation = @"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"; driver = new ChromeDriver(service, options); driver.Manage().Window.Maximize(); driver.Navigate().GoToUrl("https://www.example.com");