Java 如何使用Selenium获取Chrome浏览器控制台日志[信息]条目
我在使用Selenium获取chrome浏览器控制台日志[INFO]条目时遇到问题,我获取的唯一级别类型的条目是错误(警告,严重) 是否有任何方法可以获取与错误条目不同的内容,因为我需要获取[INFO]条目并根据其内容进行断言,我最近读到Selenium只能返回错误条目,这是否准确 非常感谢您提供的任何信息, 感谢您的关注和时间 来自文档(): 默认情况下,ChromeDriver只将警告/错误记录到stderr。在调试问题时,启用更详细的日志记录会很有帮助 也可参考文件:Java 如何使用Selenium获取Chrome浏览器控制台日志[信息]条目,java,selenium,Java,Selenium,我在使用Selenium获取chrome浏览器控制台日志[INFO]条目时遇到问题,我获取的唯一级别类型的条目是错误(警告,严重) 是否有任何方法可以获取与错误条目不同的内容,因为我需要获取[INFO]条目并根据其内容进行断言,我最近读到Selenium只能返回错误条目,这是否准确 非常感谢您提供的任何信息, 感谢您的关注和时间 来自文档(): 默认情况下,ChromeDriver只将警告/错误记录到stderr。在调试问题时,启用更详细的日志记录会很有帮助 也可参考文件: System.set
System.setProperty("webdriver.chrome.logfile", "D:\\chromedriver.log");
System.setProperty("webdriver.chrome.verboseLogging", "true");
希望能奏效
备选方案
如果上述操作不起作用,您可以尝试以下操作,这次使用ChromeOptions
对象:
ChromeOptions options = new ChromeOptions();
options.setArguments("--log-level=1");
或来自()
要启用日志记录,请使用以下命令行标志启动Chrome:
--启用日志记录--v=1
也就是说:
options.setArguments("--enable-logging --v=1");
感谢您的回答,但不幸的是,这些都不适用于我,我已设法通过以下方式为我的问题找到了解决方案:
ChromeOptions options = new ChromeOptions();
options.setCapability(ChromeOptions.CAPABILITY, getCap());
WebDriver driver = new ChromeDriver(options);
除了定制方法外:
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;
}
最后不得不制作一个过滤方法,因为Selenium one对我来说工作不正常,并且返回了所有条目:
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;
}
私有静态列表过滤器日志(日志条目){
列表日志=新的ArrayList();
用于(日志条目:条目){
if(entry.getLevel().toString().equals(INFO)){
日志。添加(条目);
}
}
返回日志;
}