【问题标题】:Java/Selenium: Still getting "ChromeDriver was started successfully" message after disabling loggingJava/Selenium:禁用日志记录后仍然收到“ChromeDriver 已成功启动”消息
【发布时间】:2020-06-30 15:31:22
【问题描述】:

我将 Selenium Chromedriver 与 Java 一起使用。我不希望它在控制台中输出任何日志/消息。因此我使用了以下代码:

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

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

【问题讨论】:

    标签: java selenium logging console


    【解决方案1】:

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

                // 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)

    【讨论】:

    • 像魅力一样工作! ChromeDriverService chromeDriverService = new ChromeDriverService.Builder().build(); chromeDriverService.sendOutputTo(NullOutputStream.NULL_OUTPUT_STREAM); WebDriver driver = new ChromeDriver(chromeDriverService, options);
    【解决方案2】:

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

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

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

    【讨论】:

    • 有解决办法吗?
    猜你喜欢
    • 2019-03-29
    • 1970-01-01
    • 2015-05-21
    • 2018-09-20
    • 2014-03-31
    • 2020-01-27
    • 2014-07-16
    • 2020-05-23
    相关资源
    最近更新 更多