我正在一个基于java的selenium项目中工作,我想使用LoggerUtil类检索打印到控制台的日志消息。
这就是我的实现方式
LogEntries entry = driver.manage().logs().get(LogType.BROWSER);
List<LogEntry> logs= entry.getAll();
for(LogEntry e: logs)
{
System.out.println(e);
}
使用这段代码,我可以将错误打印到控制台。时间戳和日志级别已正确检索。但日志消息输出一个以“https://www.google.com/xjs/_/js/k=xjs.hd.en”开头的 google url
知道如何获取实际消息而不是这个消息吗?
尝试研究 Selenium 4 DevTools
例如
DevTools devTools = driver.getDevTools();
devTools.createSession();
devTools.send(Log.enable());
devTools.addListener(Log.entryAdded(), logEntry -> {
System.out.println("-------------------------------------------");
System.out.println("Request ID = " + logEntry.getNetworkRequestId());
System.out.println("URL = " + logEntry.getUrl());
System.out.println("Source = " + logEntry.getSource());
System.out.println("Level = " + logEntry.getLevel());
System.out.println("Text = " + logEntry.getText());
System.out.println("Timestamp = " + logEntry.getTimestamp());
System.out.println("-------------------------------------------");
});
driver.get("https://www.qed42.com/404");
}
更多信息来源:https://www.qed42.com/insights/selenium-4-api-for-chrome-devtools