Java/Selenium:禁用日志记录后仍然收到 "ChromeDriver was started successfully" 消息

Java/Selenium: Still getting "ChromeDriver was started successfully" message after disabling logging

我在 Java 中使用 Selenium Chromedriver。我不希望它在控制台中输出任何 logs/messages 。因此我使用了以下代码:

    System.setProperty("webdriver.chrome.silentOutput", "true");
    System.setProperty(ChromeDriverService.CHROME_DRIVER_SILENT_OUTPUT_PROPERTY, "true");
    Logger.getLogger("org.openqa.selenium").setLevel(Level.OFF);

但是,我仍然收到一条消息:“ChromeDriver 已成功启动”。我怎样才能阻止此消息?

我发现“ChromeDriver 已成功启动”消息来自 this line 在 ChromeDriver 二进制文件中:

printf("%s was started successfully.\n", kChromeDriverProductShortName);

也许这个以标准输出结束的 printf 语句可以以某种方式重定向。

您可以将输出重定向到文件或直接丢弃:

            // redirect console output from chromedriver to the file chromedriver_log.txt in the target folder
            DriverService.Builder<ChromeDriverService, ChromeDriverService.Builder> serviceBuilder = new ChromeDriverService.Builder();
            ChromeDriverService chromeDriverService = serviceBuilder.build();
            chromeDriverService.sendOutputTo(new FileOutputStream("target/chromedriver_log.txt", true));

            webDriver = new ChromeDriver(chromeDriverService, options);

如果你只想丢弃输出然后使用 NullOutputStream.NULL_OUTPUT_STREAM insted off new FileOutputStream("target/chromedriver_log.txt", true)