如何使用 Selenium 获取 Chrome 浏览器控制台日志 [INFO] 条目

cic*_*onq 5 java selenium

我在使用 Selenium 获取 chrome 浏览器控制台日志 [INFO] 条目时遇到问题,我得到的唯一级别类型的条目是错误(警告,严重)。

有什么方法可以得到与错误条目不同的东西,因为我需要获取 [INFO] 条目并根据其内容进行断言,我最近读到 Selenium 只能返回错误条目,这是否准确?

非常感谢您提供的任何信息,感谢您的关注和时间!

cic*_*onq 3

感谢您的回答,但不幸的是它们都不适合我,我已经设法使用以下方法为我的问题找到解决方案:

    ChromeOptions options = new ChromeOptions();
    options.setCapability(ChromeOptions.CAPABILITY, getCap());
    WebDriver driver = new ChromeDriver(options);
Run Code Online (Sandbox Code Playgroud)

除了定制方法之外:

private static DesiredCapabilities getCap() {
    DesiredCapabilities caps = DesiredCapabilities.chrome();
    LoggingPreferences logPrefs = new LoggingPreferences();
    logPrefs.enable(LogType.PERFORMANCE, Level.INFO);
    logPrefs.enable(LogType.PROFILER, Level.INFO);
    logPrefs.enable(LogType.BROWSER, Level.INFO);
    logPrefs.enable(LogType.CLIENT, Level.INFO);
    logPrefs.enable(LogType.DRIVER, Level.INFO);
    logPrefs.enable(LogType.SERVER, Level.INFO);
    caps.setCapability(CapabilityType.LOGGING_PREFS, logPrefs);
    return caps;
}
Run Code Online (Sandbox Code Playgroud)

最后不得不创建一个过滤方法,因为 Selenium 方法对我来说不能正常工作并且返回所有条目:

private static List<LogEntry> filterLog(LogEntries entries) {
    List<LogEntry> logs = new ArrayList<>();
    for (LogEntry entry : entries) {
        if(entry.getLevel().toString().equals(INFO)) {
            logs.add(entry);
        }
    }
    return logs;
}
Run Code Online (Sandbox Code Playgroud)