使用GetLog()方法访问日志的Selenium Chrome驱动程序(75及更高版本)问题

时间:2019-07-09 06:08:45

标签: c# selenium selenium-webdriver selenium-chromedriver

74.0.3729.6的{​​{1}}版本中,我可以毫无问题地运行以下代码:

Selenium.WebDriver.ChromeDriver

但是从foreach (var logItem in driverInstance.Manage().Logs.GetLog(LogType.Browser).ToList()) { NLogLogger.Debug(logItem.Message); } 版开始

75.0.3770.90

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

  
      
  • 已解决的问题2947:没有用于检索日志[Pri-2]的W3C兼容终结点
  •   
  • 已解决的问题2803:功能名称loggingPrefs不符合规范[Pri-2]
  •   
     

https://chromedriver.storage.googleapis.com/75.0.3770.90/notes.txt

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

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

不确定C#绑定,但是对于Java将loggingPrefs更改为goog:loggingPrefs的问题有帮助,我在这里找到了答案:https://stackoverflow.com/a/56536604/10824437