74.0.3729.6的版本Selenium.WebDriver.ChromeDriver中,我可以运行以下代码而不会出现问题:

foreach (var logItem in driverInstance.Manage().Logs.GetLog(LogType.Browser).ToList())
{
    NLogLogger.Debug(logItem.Message);
}


但是从版本75.0.3770.90

System.NullReferenceException: 'Object reference not set to an instance of an object.'

在最新的发行说明中,我发现了一些有关日志记录更改的提示,但是没有明确说明更改或可能导致此问题的原因:


  
  已解决问题2947:没有用于检索日志的W3C兼容端点[Pri-2]
  已解决的问题2803:功能名称loggingPrefs不符合规范[Pri-2]
  
  
  https://chromedriver.storage.googleapis.com/75.0.3770.90/notes.txt


理想情况下,我不希望删除此代码,因为必须具备从浏览器端获取日志的能力,但我也不想锁定在Selenium Chrome驱动程序的74版,因为随着时间的推移,这显然会变得越来越大,并且更大的问题,所以我想知道是否有人可以建议采用其他方式动态访问这些日志?

最佳答案

driver.Manage().Logs.GetLog(LogType.Browser) no longer working in Chromedriver version 75.0.3770

我遇到了同样的问题,不幸的是,对于当前版本的Selenium,它在w3c模式下不起作用。

关于c# - 使用GetLog()方法访问日志的Selenium Chrome驱动程序(75及更高版本)问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56946240/

10-14 12:09
查看更多